Outils pour utilisateurs

Outils du site


eid

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


Si cela ne fonctionne pas encore et que votre lecteur est un modèle ACR38U

64 bits

32 bits


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

32 bits

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

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 $?
 
eid.txt · Dernière modification : 2022/10/14 23:05 de root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki