Table des matières
Installer le lecteur de carte d'identité électronique belge
A) Avec le logiciel du SPF STRATÉGIE ET APPUI
- Allez sur la page du site officiel télécharger le fichier .deb http://eid.belgium.be
- Installez ce fichier .deb via la logithèque ou GDebi
- Ouvrez un terminal
sudo apt-get update sudo apt-get upgrade sudo apt-get install eid-mw sudo apt-get install eid-viewer
- Rebooter le PC
Si le lecteur de carte n'est pas visible
On vérifie dans la liste des services si pcscd existe via la commande $ls /etc/init.d Si ce n'est pas le cas, on démarre le service pcscd via la commande
$sudo service pcscd start
Si au redémarrage, le service n’est pas lancé (vérifier avec ps -ax | grep pcscd), on peut faire en sorte qu’il le soit toujours via la commande
$sudo systemctl enable pcscd
Firefox
- Allez à la page https://addons.mozilla.org/fr/firefox/addon/belgium-eid/ et installez l'add-on.
Si cela ne fonctionne pas encore et que votre lecteur est un modèle ACR38U
64 bits
- Téléchargez le paquet libacsccid1 sur https://packages.debian.org/buster/amd64/libacsccid1/download
- Installez le .deb
32 bits
- Téléchargez le paquet libacsccid1 sur https://packages.debian.org/buster/i386/libacsccid1/download
- Installez le .deb
B) Sans le logiciel du SPF STRATÉGIE ET APPUI
Source : tuto sur https://wiki.debian.org/fr/BeID
Installer les paquets
sudo apt-get install opensc opensc-pkcs11 pcscd libccid pcsc-tools
Vérifier que le lecteur fonctionne
pcsc_scan
Si cela ne fonctionne pas et que votre lecteur est un modèle ACR38U
- Installer libacsccid1
64 bits
- Téléchargez le paquet libacsccid1 sur https://packages.debian.org/buster/amd64/libacsccid1/download
- Installez le .deb
32 bits
- Téléchargez le paquet libacsccid1 sur https://packages.debian.org/buster/i386/libacsccid1/download
- Installez le .deb
Firefox
source : Installing OpenSC PKCS#11 Module in Firefox, Step by Step
- Ouvrir Firefox
- Menu Préférences / Vie privée et sécurité
- Tout en bas à droite : Sécurité / Certificats / bouton “Périphériques de sécurité…”
- Cliquer < charger >
- Remplir le champ “Nom du module” (au choix - un nom parlant)
- Remplir le champ “Nom de fichier du module” : y mettre le chemin complet de la lib qui gère les certificats de l'eID*
- Brancher le lecteur avec une carte d'identité dedans
- Revenir dans les préférences au même point que ci-dessus : Préférences / Vie privée et sécurité / Sécurité / Certificats / bouton “Périphériques de sécurité”
- Dans le module eID, il devrait y avoir une ligne ACR38U et les détails de ce qu'il y a sur la carte.
Remarque Comme c'est opensc qui est utilisé et pas le soft eid, un message avertit que le soft EID n'est pas installé. Passer outre et se connecter.
* Pour trouver le chemin de la lib EID
Ouvrir un terminal et taper
dpkg --listfiles opensc-pkcs11 | grep /opensc-pkcs11.so | xargs ls -l
Le résultat contient 2 lignes. Copier le contenu de la ligne sans le “→” (qui est un lien symbolique)
Testé avec
- Smart Card Reader ACR38U
Testé mais subtilités avec
- Digipass 905 eID (distribué par Fedict, www.retail.vasco.com)
Le digipass ne fonctionne pas de façon optimale. Pour le faire fonctionner, il faut le débrancher/rebrancher sur le port usb et jouer avec un script écrit par Manuel Schulte. Après un temps d'inutilisation, le lecteur semble entrer en “veille” et pour le faire à nouveau fonctionner, il faut de nouveau lancer le script.
Le script est au bas de la page. Sauvez-le dans un fichier nommé “pcscd_init.sh”.
Ensuite, branchez votre lecteur de carte. Ouvrez un terminal, mettez-vous dans le répertoire du script et lancez
sudo /bin/bash pcscd_init.sh start -d
Quand vous avez fini, clôturez en lançant :
sudo /bin/bash pcscd_init.sh stop
Si le lecteur s'éteint, il faut le débrancher, le rebrancher et relancer le script.
Script pcscd_init.sh
#!/bin/bash # # Restart pcscd daemon in verbose mode and initiate pcsc_scan. # You might have to unplug/plug the usb card reader! EXPECTED_ARGS=2 E_BADARGS=65 # MYSELF=pcscd_init.sh # START=/bin/systemctl" start" STATUS=/bin/systemctl" status" STOP=/bin/systemctl" stop" SERVICE=pcscd.service SOCKET=pcscd.socket # RM=/bin/rm TOUCH=/usr/bin/touch # DAEMON=/usr/sbin/pcscd DEBUG_SEMAPHORE=/var/run/pcscd.debug SCAN=/usr/bin/pcsc_scan # # USR=$(whoami) if [ "$USR" != "root" ] then echo "You must be root to execute this script, re-run with sudo!" exit 1 fi # # Check argument's number if [ "$#" -eq "0" ] || [ "$#" -gt "$EXPECTED_ARGS" ] then echo " Usage: $(basename $0) <start/status/scan/stop> [-d | --debug]" echo " -d | --debug: enable debugging, daemon will start in foreground and will log its activity." exit $E_BADARGS fi # # DBG="$2" if [ "$2" == "-d" ] || [ "$2" == "--debug" ] then DBG=1 else DBG=0 fi # # Check argument's value if [ "$1" == "start" ] then # Start Daemon # Stop the daemon if was started TEST=$(ps -aux | grep -i "[p]cscd") if ! [ -z "$TEST" ] then # Deprecated (upstart) #service pcscd stop # echo "Stopping any running instance first!" if [ -e "$DEBUG_SEMAPHORE" ] then echo "Kill running debug instance..." $RM -fv $DEBUG_SEMAPHORE killall pcscd fi # $STOP $SOCKET $STOP $SERVICE sleep 1 echo "Done stopping running instance." fi # if [ "$DBG" -eq 1 ] then LOGFILE="/tmp/"${MYSELF%.*}.log echo "Starting pcscd daemon in debug mode and in foreground." echo "Log file at '$LOGFILE'." # Remember we are in debug mode, create a semaphore $TOUCH $DEBUG_SEMAPHORE # Start daemon in debug mode: # Restart the daemon in foreround / debug mode but detached! #$DAEMON -df |& tee $LOGFILE # # Restart the daemon using debug start instructions from L.Rousseau's web page: # LIBCCID_ifdLogLevel=0x000F pcscd --foreground --debug --apdu --color | tee log.txt LIBCCID_ifdLogLevel=0x000F $DAEMON -df --apdu --color |& tee $LOGFILE echo "Debug session terminated!" else echo "Starting pcscd daemon in background." $START $SOCKET $START $SERVICE echo "Done starting pcscd." fi fi if [ "$1" == "status" ] then $STATUS $SOCKET $STATUS $SERVICE fi if [ "$1" == "scan" ] then # Start Scanning software # Stop the app if was started TEST=$(ps -aux | grep -i "[p]csc_scan") if ! [ -z "$TEST" ] then killall $SCAN fi # # Restart the scanning app. $SCAN fi if [ "$1" == "stop" ] then # Stop scanning software. TEST=$(ps -aux | grep -i "[p]csc_scan") if ! [ -z "$TEST" ] then killall $SCAN fi # Stop Daemon. # Deprecated (upstart) #service pcscd stop # echo "Stopping pcscd daemon!" if [ -e "$DEBUG_SEMAPHORE" ] then echo "Kill running debug instance..." $RM -fv $DEBUG_SEMAPHORE killall pcscd fi # $STOP $SOCKET $STOP $SERVICE sleep 1 echo "Done stopping pcscd daemon." # # Stop other running instances of this script! TEST=$(ps -aux | grep -i "[p]cscd_init.sh") if ! [ -z "$TEST" ] then killall $MYSELF fi fi exit $?