Configuració del DNI Electrònic amb una Raspberry Pi

Configuració del DNI Electrònic amb una Raspberry Pi

Bones, ací un altre tema que tenia en la llista i que ara a l'estiu és quan tenim més temps per a reprendre tasques pendents. En aquest article explique pas a pas com configurar un targeter de certificats electrònics USB per a tenir el DNIe funcionant a la Raspberry Pi 2 amb el sistema operatiu Raspbian.

He anat mirant i provant coses per la xarxa, però a la majoria de pàgines del món linuxero, els sistemes més usuals són x386 de 32 i 64 bits, i m'ha costat un poc trobar la informació per a l'arquitectura arm de la Raspberry Pi. Però bé, ara ja està.

Aquest article és un resum senzill però ordenat del programari i certificats que ens cal instal·lar. Si segueixes pas a pas aquest document, en 10 minuts ho tindràs tot perfectament configurat per a navegar amb la Raspberry Pi i identificar-te amb el DNIe.

Configuració del DNI Electrònic amb una Raspberry Pi

Anem mans a l'obra va, que no és per a tant. El que ens caldrà fer, primer de tot, serà descarregar les fonts de libusb i les compilarem:

wget http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.9/libusb-1.0.9.tar.bz2

Descomprimirem el fitxer tar.bz2 amb la següent ordre:

tar xjvf libusb-1.0.9.tar.bz2

A continuació, compilem libusb i fem la instal·lació amb:

cd libusb-1.0.9
./configure
make
sudo make install

A continuació, necessitem instal·lar els paquets necessaris per al lector de targetes:

apt-get install opensc pcscd libccid pcsc-tools

I ara editarem el fixer de configuració /etc/opensc/opensc.conf i, a partir de la línia 54, el deixarem de la següent manera:

# CT-API module configuration.
reader_driver ctapi {
module /usr/lib/arm-linux-gnueabihf/libtowitoko.so {
CT-API ports:
0..3 COM1..4
4 Printer
5 Modem
6..7 LPT1..2
ports = 0;
}
}


# The following section shows definitions for PC/SC readers.
reader_driver pcsc {
#Limit command and response sizes.
#Default: n/a
max_send_size = 255;
max_recv_size = 256;
#
# Connect to reader in exclusive mode?
#Default: false
connect_exclusive = true;
#
# What to do when disconnecting from a card (SCardDisconnect)
# Valid values: leave, reset, unpower.
# Default: reset
disconnect_action = unpower;
#
# What to do at the end of a transaction (SCardEndTransaction)
# Valid values: leave, reset, unpower.
# Default: leave
transaction_end_action = reset;
#
# What to do when reconnection to a card (SCardReconnect)
# Valid values: leave, reset, unpower.
# Note that this affects only the internal reconnect (after a SCARD_W_RESET_CARD).
# A forced reset via sc_reset() always does a full powerup.
# Default: leave
reconnect_action = reset;
#
# Enable pinpad if detected (PC/SC v2.0.2 Part 10)
# Default: true
enable_pinpad = false;
#
# Use specific pcsc provider.
# Default: libpcsclite.so.1
# provider_library = libpcsclite.so.1
}

I ara, una vegada configurat el fitxer, reiniciem el dimoni amb:

/etc/init.d/pcscd restart

I ja podem ficar la targeta del DNIe al lector i comprovar si funciona correctament amb l'odre següent:

pcsc_scan

Configuració del DNI Electrònic amb una Raspberry Pi

Tal i com podem veure a la imatge anterior, pcsc_scan detecta el nostre DNIe i, al final de tot de color blau, ens ho especifica.

Ara necessitem carregar el mòdul en el Mozilla Firefox. Aleshores, anirem al menú "Preferències" + "Avançat" + "Certificats" + "Dispositius de seguretat" + "Carregar". Li direm un nom descriptiu i la ruta exacta del mòdul:

/usr/lib/arm-linux-gnueabihf/pkcs11/opensc-pkcs11.so

Configuració del DNI Electrònic amb una Raspberry Pi

Ara necessitem accedir a la web del DNI Electrònico i descarregar el certificat arrel pkcs1-sha256WithRSAEncryption de l'Autoritat de Certificació Arrel del DNIE, concretamant a la ruta https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_077 on descarregarem el fitxer i el descomprimirem al nostre ordinador.

I ara al navegador Mozilla Firefox anem al menú "Preferències" + "Avançat" + "Certificats" + "Entitats" li donarem a importar el certificat "AC RAIZ DNIE 2.crt" que hem descarregat i descomprimit.

Configuració del DNI Electrònic amb una Raspberry Pi

Una vegada importem el fitxer .crt s'ens mostrarà la pantalla que veieu a la següent captura de pantalla, on haurem de marcar les tres caselles per a confiar en aquest certificat:

Configuració del DNI Electrònic amb una Raspberry Pi

I ja està. Tanca el navegador Mozilla Firefox i torna'l a obrir.

Anem a la web de la FNMT per a comprovar el correcte funcionament del DNIe a la teua Raspberry Pi. Si obrim l'enllaç https://www.sede.fnmt.gob.es/certificados/persona-fisica/verificar-esta… anirem a la següent pantalla:

Configuració del DNI Electrònic amb una Raspberry Pi

Si fem clic a l'enllaç de comprovació, s'ens obrirà la finestra on hem d'especificar la contrasenya del nostre DNIe. A continuació, si la contrasenya és correcta, ja veurem la finestra de la següent captura de pantalla:

Configuració del DNI Electrònic amb una Raspberry Pi

I al acceptar la finestra, la pàgina de la FNMT et mostrarà tots els detalls del teu DNIe. Aleshores a partir d'ara, ja pots usar el DNI Electrònic a qualsevol pàgina de l'Administració Pública que tinga implementada aquest dispositiu.

I això és tot.

Espere que trobes útil aquest article, i que et motive a compartir els teus trucs i coneixements i experiments amb el Programari Lliure. La Comunitat del Programari Lliure et necessita! :-)