Electronic identification
An electronic identification ("eID") is an electronic identification solution of citizens or organizations, for example in view to access benefits or services provided by government authorities, banks or other companies. Apart from online authentication many eICs also give users the option to sign electronic documents with a digital signature.
Installation
Install the ccid package, all electronic identification requires this package. Then see #Hardware specific packages.
For pinentry support, install pinentry.
Hardware specific packages
ACS smart cards
For more information about ACS smart cards, see [1].
Cr-75 card reader
Install the libcr75-gitAUR package for the device with the 1307:0361
ID.
Belgium
To identify with an identification card reader, the following steps are required:
- The app for authentication [2]
Import the (continuous build) keys from [3]. See makepkg#Signature checking.
Install the eid-mwAUR package, then run:
$ about-eid-mw
which should open a window. In the window, check that the "PCSC daemon status" is "running".
If it is not the case, start pcscd.service
.
In the same window, copy the value for "PKCS#11 location".
This value can alternatively be found by first finding the module (which might be beidpkcs11.so
) by doing:
# p11tool --list-tokens
Then finding the full path with:
# find /usr/lib -name beidpkcs11.so
- The driver of the card reader itself.
Look at the brand of the card reader; there is a high chance it is ACS (Advanced Card System Ltd). If it is ACS, go to https://belgeid.be/product/acr38[dead link 2024-07-30 ⓘ] and download the Linux driver. Follow the described install driver process.
- Know which internet browser you will be using
For Chrome, no plugin. For Chromium, you will need to install opensc and p11-kit as well. You may consider: https://devctl.blogspot.com/2014/01/making-belgian-eid-work-on-arch-linux.html
For Firefox, add the Firefox plugin to your browser. In recent versions, you will need to manually add the eID module to the Firefox security devices configuration. Your module path might be different than the one in the guide, use the value of "PKCS#11 location" found with the instructions at the authentication paragraph.
To test if the setup worked, try it out on the test page. You may find hints for troubleshooting in the official documentation but keep in mind that Arch Linux is not officially supported.
Also note that using Flatpak or Snap is not supported, as those do not allow PKCS#11 modules such as eID to be loaded.
Signing documents
Signing emails with Thunderbird and documents with LibreOffice is explained in a blog post by Luc Stroobant.
Depending on your system configuration it may be possible to run Adobe Reader DC under wine (see also the official FAQ on digital digital signatures). If using Adobe Reader is not possible, you can use Belgian Federal Public Services' "signing box". Using this service requires the installation of an extra eID middleware beidconnectAUR and browser extension by e-contract.be. Navigate to the signing box page, upload any pdf-file and attempt to add a digital signature to begin the installation process.
Alternatively, okular provides native digital signing of pdf's in Linux since version 21.04.
Brazil (ICP-Brasil)
SSL
Install ca-certificates-icp_brAUR as the Brazilian root CAs are not part of Mozilla's NSS due to a long standing issue.
The above package should be enough. If you have any issue, check [ITI's installation instructions https://www.gov.br/iti/pt-br/assuntos/navegadores] for Chromium, Firefox and other popular web browsers, and for Java.
Smart Cards (A3 certificates)
1. Install safesignidentityclientAUR and opensc.
2. Start/enable pcscd.service
/usr/lib/opensc-pkcs11.so
) enabled can cause problems both in Firefox and ChromeFirefox
Navigate to Edit -> Preference -> Advanced -> Certificates -> Security Devices and click "Load" to load a module using /usr/lib/libaetpkss.so
and name it ICP-Brasil A3 - Safe Sign Identity Client
.
Test it by going to Receita Federal's e-CAC.
Chrome
Ensure Chrome is closed and run:
$ modutil -dbdir sql:$HOME/.pki/nssdb/ -add "ICP-Brasil A3 - Safe Sign Identity Client" -libfile /usr/lib/libaetpkss.so
Croatia
-
Start/enable
pcscd.service
- Install certiliamiddlewareAUR.
- Launch the client. It is used for activating the card or changing the PINs or the PUK.
Firefox
Navigate to Edit > Preference > Advanced > Certificates > Security Devices and click Load to load a module. You can assign any name to it, i.e. Cro PKCS#11 Module
.
Estonia
DigiDoc
Once ccid and opensc is installed and pcscd.socket
is started, install qdigidoc4AUR. One of the dependency xml-security-cAUR is verified with a signature that you have to import to your GnuPG keyring.
$ gpg --keyserver keys.openpgp.org --recv-keys DCAA15007BED9DE690CD9523378B845402277962
If you have an ACS card reader, acsccid is required.
DigiDoc4 has an optional GNOME/Files right click menu integration that requires python-nautilus to be installed.
Browser Configuration
Current browser ID-Card stack is based on Web eID. It provides consistent user experience on all supported platforms for both PIN 1 authentication and PIN 2 document signing.
Web eID consists of two components. Both need to be installed.
- web-eid-nativeAUR - Native component used by all browsers
- web-eid-chromeAUR and web-eid-firefoxAUR - Browser extension that talks to the native component
web-eid-nativeAUR is verified with a signature and you need to import developer PGP keys to your GnuPG keyring.
$ wget -q -O- https://github.com/metsma.gpg | gpg --import - $ wget -q -O- https://github.com/mrts.gpg | gpg --import -
chrome-token-signing
package has been merged into Web eID and can be uninstalled.Not all sites have migrated to the new Web eID PIN 1 JavaScript API and use the older Mutual TLS (also some times called TLS-CCA. You still need to configure opensc PKCS #11 provider in the browsers by running this command:
$ pkcs11-register
You will also need to restart the browser afterwards.
esteidpkcs11loader
can be removed as it is now replaced with pkcs11-register
command from opensc packageTesting
- Make sure that Web eID extension is installed and enabled
- Go to https://web-eid.eu/ and follow Authenticate -> Sign flow
- Test Mutal TLS (TLS-CCA) using https://test-eid.eesti.ee/
Finland
Official instructions: https://dvv.fi/kansalaisvarmenne-kortinlukijaohjelmisto.
mPollux Digisign Client
First install the prequisites as described in #Installation. Then install vrk-mpollux-digisign-clientAUR. Launch the client, connect your reader and put in your card. Click the icon in your status bar once it turns yellow. This should trigger the card activation process if you have not activated it before.
Firefox
Navigate to Security Devices page (Search it via Preferences), then click Load and set Module Name to DigiSign PKCS#11-moduuli and module filename to /usr/lib/libcryptoki.so
. Finally restart Firefox. The card can be tested at: https://dvv.fi/testaa-varmenteen-kayttoa.
Germany
ReinerSCT devices
For some devices, you need to install pcsc-cyberjackAUR and copy the default configuration file /etc/pcsc-cyberjack/cyberjack.conf.default
to the same folder, without the .default suffix. Restart pcsc.service
and applications like ausweisapp2AUR should recognize the scanner. The ReinerSCT RFID will blink its LED, which it does not when the driver is not installed correctly.
You can also use a smartphone as the card reader, if both your computer and the smartphone are in the same network. You must install and run AusweisApp on the phone (available for Android / iPhone).
Spain
DNI electrónico (DNIe)
Install ca-certificates-dnieAUR. To sign documents using your identity card, install autofirmaAUR.
Sweden
BankID is the leading electronic identification in Sweden.