Currently, using a LuxTrust SmartCard or signing stick to log into the web banking portal snet.lu only works on 32bit Ubuntu due to a bug in their code. Here’s how you can make it work on 64bit Ubuntu as well:
1. Install the requirements
apt-get install pcscd libpcsclite1 pcsc-tools libssl0.9.8
2. Go to https://www.luxtrust.lu/fr/simple/189 to download the LuxTrust “Middleware” for Ubuntu (but don’t install it yet)
3. Patch the Middleware:
dpkg-deb -x LuxTrust_Middleware_64bit_6.1-007.deb tmp
dpkg-deb --control LuxTrust_Middleware_64bit_6.1-007.deb tmp/DEBIAN
The following 4 bugfixes need to be applied to tmp/DEBIAN/postinst. I reported them in Octobre 2013 to LuxTrust but they obviously didn’t care.
(otherwise, the 1s will be concatenated to a string, looking like this: “0+1+1+1+1+1+1+1+1” etc. Using the $ notation, the expression is evaluated arithmetically)
if [ $LIBCTR > 0 ]; then
if [ $LIBCTR -gt 0 ]; then
Because “>” is for strings, while “-gt” is for numbers.
if [ ! -f /usr/lib/libsqlite3.so ]; then
if [ ! -e /usr/lib/libsqlite3.so ]; then
“-f” checks if the given path is a “regular” file, so it will fail on symlinks. “-e” will also pass on symlinks.
Because every postinst-script needs a return value.
4. Now, rebuild the .deb and install it:
dpkg -b tmp LuxTrust_Middleware_64bit_6.1-007.patched.deb
sudo dpkg -i LuxTrust_Middleware_64bit_6.1-007.patched.deb
5. Create a bookmarklet (preferrably in a toolbar) and paste the following code:
Now, when you access snet.lu and you get an error message after loading the Java applets, simply click the bookmarklet. What it does is check if you are running 64bit Linux (as reported by your browser) and then replace the paths for the 32bit “.jar” files with paths for the 64bit “.jar” files (which luckily are already hosted on snet.lu). Afterwards the applet is reloaded and the login works as expected.