Sunday, April 13, 2014

BankID with card reader on LMDE

Update: This no longer works. It seems that the changes done for BankID have now gotten to the point that banks etc have upgraded and this old version no longer works...

I've previously made guides for doing this on Ubuntu 13.04 and 13.10. Today I installed LMDE (Linux Mint Debian Edition), and getting BankID to work there had some additional difficulties.

I know... BankID is very soon ending the support for Linux completely, but for now I want to be able to use it. So here's how.

The main problems under Debian, is that nspluginwrapper and one if the dependencies of the driver for the card reader (the i386 version) have been removed from the repositories. That means that there are a couple of fairly "ugly" tricks that I had to do in order to get this to work. Doing this means that some packages will not be updated, so if you don't feel comfortable with that, don't do this.

There is a lot of good information on the Ubuntu wiki for Nexus Personal, but since it tries to encompass everything, I find it a little difficult to follow. It's a good resource for debugging though.

The card reader that I have is a Digipass 920, so if you are using something else, you may need to change out the driver for the one appropriate for you device.


Do keep in mind that the BankID application will not be automatically updated. If you need to update to a new version you'll have to download and install it again as described below.
  • Get the BankID application from https://install.bankid.com/Download?defaultFileId=Linux (the website blocks 64-bit Linux from the "regular" download procedure, so if you're downloading from that you need to use this direct link)
  • Unzip the application
  • Open a terminal and go to the directory that you unzipped the application to, and type in the following command (Please note that the version number will change):
    • sudo ./install.4.19.1.11663.sh i
  •  Enable multiarch support
    • sudo dpkg --add-architecture i386
      sudo apt-get update
  • Install some needed packages
    • sudo apt-get install pkcs11-data:i386 libstdc++6:i386 libidn11:i386
  • Next we need to install nspluginwrapper, as I stated above, this is no longer part of the standard repositories, so it requires a bit more work. Basically we are adding an older repository in order to install it. You could also install it from source, but that would probably leave you with some problems with regards to dependencies, this is (in my opinion) the easiest way
    • open the config file for your repositories
      • sudo gedit /etc/apt/sources.list 
    • Add the following line to it
      • deb http://ftp.au.debian.org/debian/ squeeze main contrib non-free
    • Save and close
    • We can now install nspluginwrapper with its dependencies
      • sudo apt-get update
      • sudo apt-get install nspluginwrapper
  • Now to install the driver for the card reader. The actual driver is still there, but not one of its dependencies, so we will need to install that manually first
    • Now we can install the driver
      • sudo apt-get install pcscd:i386
  • The repository that we added in order to install nspluginwrapper conflicts with Linux Mints repository, so we need to remove it
    • Open /etc/apt/sources.list, in the same as as above, and remove the line that we added to it
  • Go back to the terminal and give the following command:
    • sudo nspluginwrapper -i /usr/local/lib/personal/libplugins.so
  • Start/restart Firefox, go to Tools -> Addons and check that you can see Nexus Personal under Plugins
  • Give it a try, it should now work

No comments:

Post a Comment