sudo apt-get update sudo apt-get upgrade sudo apt-get install eid-mw sudo apt-get install eid-viewer
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
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
source : Installing OpenSC PKCS#11 Module in Firefox, Step by Step
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.
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)
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 $?