A few days prior I have finally received my electronic ID or eID that can be used to streamline the communication with various official bureaus in the country. Since it is Java based, it has a support for multiple OSes by default, including Linux. Although, as I stated in the previous article, officially only Debian, Ubuntu and Mint distributions are supported, I was able to use all the functionality that were within my reach on Arch as well. It just requires a little bit of configuration, as is the norm with this rolling release, cutting edge distro.
The required packages I had to have installed at the time of writing on a fully updated Arch, some of them are available on AUR:
- Card reader via
pcsclite
andccid
- Java 8 via
jre8-openjdk
andjre8-openjdk-headless
- Java 8 JFX via
java8-openjfx
- IcedTea via
icedtea-web
- eID client via
eidklient
- web signer via
disig-web-signer
The above can be installed with the following:
yay -S pcsclite ccid jre8-openjdk jre8-openjdk-headless \
java8-openjfx icedtea-web eidklient disig-web-signer
Next download, extract, mark as executable and run D.Launcher
. At the
time of writing the version 1.1.0.1a
was available for GNU/Linux x64 at:
https://www.slovensko.sk/static/zep/apps/DLauncher.linux.x86_64.zip
As noted in the previous articles, start a pcscd
service to access the
built in card reader:
sudo systemctl enable pcscd --now
There are two external card readers supplied by the bureau. One of them
might be requiring a driver - Search for bit4id
in AUR.
Finally, create a file ~/.config/icedtea-web/deployment.properties
with
the following content:
deployment.jre.dir=/usr/lib/jvm/java-8-openjdk
The above will be different depending on the distribution used.
OpenJDK location
For Arch Linux, the folder where Java 8 resides can be double-checked with pacman:
pacman -Fl jre8-openjdk | grep lib
Which should output something very similar to:
jre8-openjdk usr/lib/
jre8-openjdk usr/lib/jvm/
jre8-openjdk usr/lib/jvm/java-8-openjdk/
jre8-openjdk usr/lib/jvm/java-8-openjdk/jre/
jre8-openjdk usr/lib/jvm/java-8-openjdk/jre/bin/
jre8-openjdk usr/lib/jvm/java-8-openjdk/jre/bin/policytool
jre8-openjdk usr/lib/jvm/java-8-openjdk/jre/lib/
jre8-openjdk usr/lib/jvm/java-8-openjdk/jre/lib/amd64/
jre8-openjdk usr/lib/jvm/java-8-openjdk/jre/lib/amd64/libjsound.so
jre8-openjdk usr/lib/jvm/java-8-openjdk/jre/lib/amd64/libjsoundalsa.so
jre8-openjdk usr/lib/jvm/java-8-openjdk/jre/lib/amd64/libsplashscreen.so
Modify the content of the file above if needed, but the existing location is not really going to change, unless a different Java version is used for this stack in the future.
Anyway, this should be it, using official electronic communication should be possible with the above steps, unless I missed something. It is quite time consuming to completely re-check everything, as there are many steps involved. And some steps like generating the initial certificates are done only once or very infrequently. I am leaving it here in case someone stumbles on it.