lunes, 9 de octubre de 2017

Instalación de DNIe (DNI electrónico) en Linux Opensuse Leap 42.3


Tras un par de versiones de Suse en las que fui incapaz de hacer funcionar el DNI electrónico en mi lector ( sí funcionaba en windows 7, pero aún he conseguido hacerlo funcionar el Windows 10 ), de forma milagrosa parece que funciona. Los Pasos más o menos son estos, no es una guía perfecta, dado que he tenido que probar bastante cosas. Mi lector de DNI es el lector PC Twin Reader (Gemalto IDBridge CT30), lo repartía la UGR hace unos años:

Instalación del paquete

Descargamos el paquete libpkcs11-dnie-1.4.0-1.x86_64.rpm y lo instalamos con yast

Instalación de certificados

Instalamos todos los certificados del área de descargas. Yo he casi instalado todos los certificados (Al menos los raíz y los subordinados)

Autoridad de Certificación Raíz del DNIe:
Autoridad de Certificación Subordinadas:
Autoridad de Validación AV DNIE FNMT

Instalación de paquetes adicionales

zypper in -y libpcsclite1 pcsc-lite pcsc-ccid pcsc-acsccid pinentry-gtk2 libpcsclite1-32bit pcsc-gempc perl-pcsc perl-pcsc

El paquete pcsc-gempc son drivers de gemalto.
El paquete libpkcs11-dnie es instalado por el paquete libpkcs11-dnie-1.4.0-1.x86_64.rpm.

El paquete pcsc-tools es necesario instalarlo desde las fuente o desde un repositorio. Yo he probado el de repositorio security:chipcard y ha funcionado. NO he mantenido el repositorio después de la instalación

Configuración firefox

Las instrucciones de configuración están en /usr/share/libpkcs11-dnie/instal_dnie/launch.html

En firefox pulsamos un par de veces la tecla "alt" para que aparezca el menú y vamos a Editar/Preferencias/Avanzado/Certificados/Dispositivos de seguridad le damos a cargar, ponemos el nombre que queramos y la ruta /usr/lib64/libpkcs11-dnie.so . De primeras me daba un error diciendo que no podía añadir el módulo, con los paquetes adicionales y el pcsc_scan ejecutandose en una ventana del terminal ha entrado correctamente.

Instalamos el certificado, vamos Editar/Preferencias/Avanzado/Certificados/Ver certificados , pestaña de autoridades, botón importar e importamos /usr/share/libpkcs11-dnie/ac_raiz_dnie.crt , marcamos las tres casillas de confianza.

Podemos probar a cerrar el navegador. Vamos al mismo sitio /Editar/Preferencias/Avanzado/Certificados/Dispositivos de seguridad, si el DNi está metido debe salir algo como "DNI electrónico", si le damos a iniciar sesión nos preguntara el password del DNI

Reinicio del sistema

 Como si fuese un windows es necesario reiniciar el sistema para que todo vaya bien

Cómo probarlo desde la consola

Vamos a la consola y como root ejecutamos pcsc_scan (tiene que estar instalado el paquete pcsc)

#pcsc_scan  
PC/SC device scanner
V 1.5.2 (c) 2001-2017, Ludovic Rousseau <ludovic.rousseau@free.fr>
Using reader plug'n play mechanism
Scanning present readers...
0: Gemalto PC Twin Reader 00 00
 
Mon Oct  9 13:40:40 2017
 Reader 0: Gemalto PC Twin Reader 00 00
  Card state: Card removed, 
 
Seguimos ejecutandolo, al meter el DNI debe de cambiar a algo como esto:

Mon Oct  9 12:43:19 XX17
 Reader 0: Gemalto PC Twin Reader XX XX
  Card state: Card inserted, 
  ATR: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX

ATR: 3B XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
+ TS = 3B --> Direct Convention
+ T0 = XX, Y(1): XX11, K: 15 (historical bytes)
  TA(1) = XX --> Fi=7XX, Di=12, 62 cycles/ETU
    64516 bits/s at 4 MHz, fMax for Fi = 8 MHz => 129XX2 bits/s
  TB(1) = XX --> VPP is not electrically connected
  TC(1) = XX --> Extra guard time: 0
+ Historical bytes: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
  Category indicator byte: XX (compact TLV data object)
    Tag: 6, len: A (pre-issuing data)
      Data: XX XX XX XX XX XX XX XX XX XX
    Mandatory status indicator (3 last bytes)
      LCS (life card cycle): XX (Initialisation state)
      SW: 9000 (Normal processing.)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
3B XX XX XX XX XX XX XX XX XX XX [12]0 XX XX XX XX XX XX XX XX
 DNI electronico (Spanish electronic ID card)
 http://www.dnielectronico.es
 -
 
Donde la XX son números en hexadecimal.

Probando el DNI en la web

La forma más rápida es https://valide.redsara.es/valide/ , le damos "Validar Certificado", nos dará un aviso de Java, le damos a permitir, pulsamos selecciona certificado, nos pedirá la contraseña del DNI , luego seleccionamos "autenticación". Rellenamos el captcha de seguridad y le damos a validar

Otras referencias:

No hay comentarios: