Este artículo es una actualización del artículo "Configurar un lector de DNI electrónico en Firefox con AutoFirma en Ubuntu" que escribí en 2021.
El cambio más importante es que a partir de la versión 22.04 de Ubuntu, Firefoz viene instalado mediante snap en vez de mediante APT así que lo primero que tienes que hacer es desinstalar el snap Firefox e instalarlo mediante APT que lo explico en otro artículo de mi blog.
El lector de tarjetas
Aunque supongo lo aquí escrito funcionará con otros, yo he utilizado el lector de tarjetas 23890 Primo Smart Card Reader de la marca Trust.
Instalación de libpkcs11
Para hacer funcionar el lector de tarjetas en nuestro Ubuntu tenemos que instalar libpkcs11. Esta biblioteca depende de otros paquetes, así que primero los instalamos con el siguiente comando:
sudo apt install pcsc-tools pcscd pinentry-gtk2 libassuan0
Una vez instalados, descargamos de la página oficial de la policía nacional el paquete DEB para nuestra distribución.
Y luego lo instalamos, en nuestro caso con el siguiente comando:
sudo dpkg -i libpkcs11-dnie_1.6.8_amd64.deb
Durante la instalación reiniciará el Firefox y mostrará una página con ayuda de configuración (que explicaremos en los puntos más abajo), y para que la instalación termine tenemos que cerrar Firefox.
Comprobamos el lector de tarjetas
En este punto conectamos el lector de tarjetas a nuestro ordenador y ejecutamos el siguiente comando:
lsusb
Si todo ha ido bien en la consola aparecerá listado el lector de tarjetas, en mi caso:
Alcor Micro Corp. AU9540 Smartcard Reader
Todavía sin meter el DNI en el lector, pero con este conectado a nuestro ordenador, ejecutamos el siguiente comando:
pcsc_scan
Y deberá aparecer en el terminal que no hay tarjeta insertada, en mi caso:
Card state: Card removed
Y cuando introduzcamos el DNI en el lector, ejecutamos de nuevo el comando anterior:
pcsc_scan
Y deberá aparecer en el terminal que hay tarjeta insertada, en mi caso:
Card state: Card inserted
Configurar el dispositivo de seguridad en Firefox
Ahora vamos a Firefox > Preferencias > Privacidad & Seguridad > Dispositivos de seguridad (es un botón que está abajo)
Pulsamos en el botón "Cargar".
Ponemos un nombre al módulo, por ejemplo "DNI Electrónico".
Indicamos la ruta del archivo del módulo: /usr/lib/libpkcs11-dnie.so
Pulsamos en el botón "Aceptar" y aparecerá en los "Dispositivos de seguridad"
Añadir el certificado raíz de la Policía en Firefox
Ahora vamos a Firefox > Preferencias > Privacidad y Seguridad > Ver certificados (es un botón que está abajo)
Vamos a la pestaña "Autoridades" y pulsamos el botón "Importar".
Indicamos la ruta del certificado raíz: /usr/share/libpkcs11-dnie/ac_raiz_dnie.crt
El asistente le pedirá que establezca la confianza para el certificado.
Marque todas las casillas de confianza, y pulse el botón "Aceptar".
En este momento deberá aparecer el certificado raíz de la policía "Ver certificados".
Verificar que funciona el lector de DNI electrónico en Firefox
Ahora nos vamos a:
https://www.sede.fnmt.gob.es/certificados/persona-fisica/verificar-estado/solicitar-verificacion
Si te falla la primera vez, puede que tengas que entrar en una pestaña privada o borrar las cookies para que te funcione de nuevo.
En cualquier caso, si todo va bien, debería pedirte la contraseña del certificado de tu DNI electrónico, que deberían haberte dado en comisaría cuando te lo sacaste.
Una vez introducida la contraseña, en esa página deberías ver tus datos (nombre, apellidos y DNI).
Instalar las dependencias de AutoFirma
La versión 1.8.3 de AutoFirma, aunque dice que la versión de java no está oficialmente soportada, parece que funciona bien con la versión de java que viene instalada por defecto en Ubuntu, en mi caso la versión:
openjdk version "19.0.2"
Luego tenemos que instalar la dependencia "libnss3-tools" y para ello ejecutamos el siguiente comando:
sudo apt install libnss3-tools
Instalar AutoFirma
Para instalar AutoFirma nos tenemos que descargar el ZIP de la página de descarga oficial, descomprimirlo en una carpeta, y ejecutar el siguiente comando:
sudo dpkg -i AutoFirma_1_8_3.deb
Con AutoFirma instalado, si tienes un certificado, ya es bastante fácil firmar documentos. El problema es intentar firmar documentos con el DNI electrónico. Para ello hay que hacer ciertas cosas "raras".
Configurar AutoFirma con el DNI electrónico
Ahora parece que la versión 1.8.3 de AutoFirma funciona casi sin problemas con el DNI electrónico, simplemente pinchando en el botón "Continuar con DNIe" al arrancar AutoFirma.Configurar AutoFirma con Firefox
Si hemos llegado hasta aquí sin problemas ya deberíamos poder utilizar el DNI electrónico tanto desde Firefox como desde AutoFirma. El problema llega cuando en un sitio web te piden desde la propia web firmar con AutoFirma.
Como hasta aquí, no es difícil la solución, pero hay que conocerla. AutoFirma no se lleva bien con los perfiles de Firefox, solo debería existir uno.
Si abrimos los perfiles de Firefox desde "about:profiles" vemos que por defecto tenemos 2, "default-release" y "default":
También podemos ver los perfiles arrancando Firefox desde la consola con el comando:
firefox -p
O modificando el fichero:
~/.mozilla/firefox/vim profiles.ini
El caso es que tenemos que eleminar los que no se usan y al final solo tenemos que tener el perfil "default-release".
Pero la cosa no acaba aquí, ahora hay que restaurar la instalación de AutoFirma con Firefox cerrado. Para ello cerramos el Firefox, abrimos AutoFirma, nos vamos a "AutoFirma > Herramientas > Restaurar instalación". Luego pulsamos en el botón "Iniciar restauración". Nos pedirá la contraseña de administrador del sistema. Y debería terminar con algo así:
Probar AutoFirma con Firefox
Y si hemos llegado hasta aquí, sin ningún error, ya solo falta probar que AutoFirma funciona bien desde esta página:
https://www.sededgsfp.gob.es/es/Paginas/TestAutofirma.aspx
probando a firmar un documento con el DNI electrónico con AutoFirma desde el navegador.
Recursos
La información para redactar este post la he sacado de:
- https://vivaelsoftwarelibre.com/lector-de-dni-electronico-en-linux-rapido-y-sencillo-en-firefox/
- https://github.com/ctt-gob-es/clienteafirma/issues/145#issuecomment-747936855
- https://github.com/ctt-gob-es/clienteafirma/issues/172#issuecomment-767120025
- https://github.com/ctt-gob-es/clienteafirma/issues/29#issuecomment-461150075
0 comentarios:
Publicar un comentario