# Bankid

This page is about the digital id software Bankid or BankID. The underlaying application of Bankid is Nexus Personal (http://www.nexusgroup.com), so the tips here is probably helpful for anyone trying to run other versions of Nexus Personal as well.

## Installing 32-bit Bankid application on 64-bit system

As of 2014-03-23 Bankid is only available as a 32-bit application. The following is required to run Bankid:

Install standard C routines needed for all 32-bit applications, the 32-bit Gtk libraries and some other dependencies:

      $ sudo pacman -S lib32-glibc lib32-gtk2 lib32-libpng12 lib32-libidn

You also need to install a 32-bit version of `libgcrypt.so.11`. This is not available from the standard repositories, but you might be able to install it from the AUR.

Download the Bankid application for Linux.

Extract the archive you downloaded and run the installation program:

      $ tar -xzf BISP-4.19.1.11663.tar.gz
      $ ./BISP-4.19.1.11663/install.4.19.1.11663.sh i

Some additional information are to be found in the text files supplied with the application.

After the install you can safely remove the installation program. Note that two directories are created when you extract the archive: `/BISP-4.19.1.11663` and `/lang`.

## Troubleshooting

### Missing libraries for 32-bit program

If you get an error similar to the below when running the 32-bit program, you need to provide the missing libraries to Bankid.

      /usr/local/lib/personal/personal.bin: error while loading shared libraries:
        libpng12.so.0: cannot open shared object file: No such file or directory

Find out what libraries Bankid can't find by running `ldd` on the executable:

      $ ldd /usr/local/lib/personal/personal.bin | grep "not found"
         libpng12.so.0 => not found

You now have a list of the libraries that the application is missing. When you run a 32-bit application on Archlinux the library calls from the program (e g `libpng12.so.0` are translated to point to the 32-bit versions of ditto libraries.

To see the path where the application is actually looking for for example `libpng12.so.0` run:

      $ strace -o "| grep libpng12.so.0" personal
      open("/usr/lib32/tls/i686/sse2/libpng12.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
      [...]

The output will show you that the program is actually looking for the library in a couple if locations starting with `/usr/lib32/`. This means you need the 32-bit version of the library (since you are running the 32-bit program).

Now we need to find out which package contains the needed file:

      $ sudo pkgfile --update # Update package database
      :: Updating 4 repos...
        core is up to date
        extra is up to date
        community is up to date
        multilib is up to date
      $ pkgfile libpng12.so.0 | grep lib32
      multilib/lib32-libpng12

We can now install the library with pacman.

## Open source alternatives

The open source program Fribid (fribid.se) is available in the AUR: fribid-stable. For information on how to install packages in the AUR read more at AUR User Guidelines.

## Running Bankid in a virtual machine running Windows

If no other solution works, you can always install for example Virtualbox and run Bankid on a Windows virtual machine. It should work fairly out of the box with Windows XP on the guest. If you want to use a card-reader you have to add the user that runs Virtualbox (usually you) to the group `vboxusers` to be able to access the usb-connected card-reader. You can then add a usb-filter in the Virtualbox settings for the machine, so that the machine captures the card-reader automatically.

Category:

- Security