BandaAncha

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate
💡

Instalar DNIe en Ubuntu, derivadas y Fedora para navegadores basados en Chromium

Winchester
12
DNIe Linux

Vengo a dejar un pequeño aporte, que ayude a quienes quieran utilizar su DNI electrónico y su lector en Linux con Chromium, Chrome o Edge (en Debian y derivadas). Probado en Ubuntu, derivadas y Fedora utilizando el siguiente Lector de DNIE, aunque debería funcionar en todos, es el mejor compatibilidad-precio (NO LINK REFERIDO).

  • ¿Navegadores Chromium y no Firefox? Sí, más ahora que Canonical ha decidido que el Firefox predeterminado en Ubuntu (y sabores oficiales) sea el de Snap, que presenta problemas a la hora de instalar el libpkcs11.
  • ¿No se puede quitar Firefox de Snap e instalar el del PPA oficial de "Mozilla Team"? Si, con sudo snap remove firefox y añadiendo el PPA de Mozilla Team sudo add-apt-repository ppa:mozillateam/ppa, pero requiere cambiar la prioridad para que, al hacer sudo apt install firefox o sudo apt update no te cuele de nuevo el paquete Snap.

Todo esto, con el navegador basado en Chromium ya instalado, y cerciorándonos de que no quede abierto el proceso de ningún navegador.

Vamos con los comandos:

sudo apt update
sudo apt install pcscd pcsc-tools
sudo apt install libnss3-tools
.
o en el caso de Fedora:
.
sudo yum update
sudo yum install pcsc-tools
sudo yum install libnss3-tools

Tras esto, podemos comprobar si el lector está funcionando utilizando:

pcsc_scan

Si lo detecta, aparecerá en el terminal el lector (Alcor, MSI, etc), y metiendo el DNI, veréis como lo detecta también (ya que marca DNI insertado y no).

¿Qué hacer si no lo detecta? Puede aparecer un mensaje en rojo, y es porque el servicio no está arrancado (no es lo habitual pero puede pasar), para lo cual pondríamos 2, uno para arrancarlo manualmente y otro para que arranque con el SO:

sudo service pcscd start

sudo systemctl enable pcscd

Ya podemos seguir, para eso hay que generar la db a la que añadir el libpkcs11:

cd "${HOME}"
mkdir -p ~/.pki/nssdb
certutil -d ~/.pki/nssdb -N –empty-password

Nos va a preguntar si queremos contraseña, y nos va a pedir ponerla. ¿Para qué sirve? Para que otros usuarios no puedan añadir otros certificados a la db, no es el PIN del DNI. Yo, personalmente, no la tengo. Si no se la ponéis, podéis darle 3 veces seguidas a enter y seguir con el siguiente comando, que es darle permisos a la db:

chmod 700 ~/.pki/nssdb

El siguiente comando es:

certutil -d "sql:${HOME}/.pki/nssdb" -L

Ahora hay que bajarse el libpkcs11-dnie_1.6.8_amd64.deb de la web oficial (La primera opción) e instalarlo con dpkg, gdebi o con la propia tienda, si la intención es instalarlo en Fedora, seleccionais el paquete para esa distribución, el rpm, y lo instaláis con discover.

Una vez instalado, podemos proceder a añadir el libpkcs11 a la db mediante:

modutil -add "DNIe" -dbdir "sql:${HOME}/.pki/nssdb" -libfile /usr/lib/libpkcs11-dnie.so
.
o para Fedora:
.
modutil -add "DNIe" -dbdir "sql:${HOME}/.pki/nssdb" -libfile /usr/lib64/libpkcs11-dnie.so

Y comprobar con el comando:

modutil -list -dbdir ~/.pki/nssdb/

Por último, podemos comprobar el correcto funcionamiento en la web de la FNMT. Si todo ha ido bien, al solicitar la verificación y con el DNI insertado en el lector, el navegador basado en Chromium debería solicitarnos el PIN y preguntarnos si queremos utilizar ese certificado, y mostrarnos que está todo OK.

P.d: En un primer momento, puse que se añade el certificado, pero lo que se añade a la db es el módulo libpkcs11. Sin DNIe insertado, no hace absolutamente nada, con DNIe insertado pero sin el libpkcs11, tampoco, gracias a @License2Harm y perdonad.

Actualizado a 26/04/2023.

License2Harm
1

¿ Para que añades el certificado a /.pki/nssdb si se puede leer desde el bajo demanda del DNIe ? (asumiendo que te he entendido bien)

🗨️ 1
Winchester

Porque lo que se añade no es el certificado del DNI, sino el libpkcs11, lo puse mal

pjpmosteiro

Me vienes que ni pintado, @MrPlow, justo necesité usarlo ayer y tuve que levantar una MV de Windows porque no había manera de que Firefox me pillase el libpkcs11…

Gracias!

🗨️ 8
Winchester

Si es el de paquete Snap, 100% que no lo pilla, hay que quitarlo, instalar el del ppa de mozilla y modificar la prioridad del origen de instalación y actualización. En el flatpak no debería pasar tampoco.

🗨️ 7
PezDeRedes
1

Con lo felices que éramos con la paquetería tradicional y se sacan de la manga la basura esta de los paquetes universales lagueados, y encima nos la meten por defecto. Muchas gracias por el tutorial compañero.

🗨️ 4
Winchester

los flatpak tienen un pase, pero lo de snap no hay por donde cogerlo

Black Hole
2

Bueno, nadie te obliga a usar Ubuntu. Yo hace tiempo que me pasé a Manjaro, que no tiene tanta tontería y está basado en políticas de actualización contínua, no semestrales.

🗨️ 2
vukits
vukits
🗨️ 1
PezDeRedes
PezDeRedes
2
pjpmosteiro
1

Fue lo primero que hice, quitar el snap porque ya intuia que el confinamiento que usa snap estaba restringiendo (de hecho, el KeepassXC también tuvo que ir por DEB porque si no no podía comunicarse con el navegador).

Snap es un buen invento, pero lo están usando de la peor manera posible.

🗨️ 1
Winchester

Si, por eso mismo es, en su momento probé varias app que suelo utilizar pero bajadas de la snap store (en ubuntu), y no más, ahora mismo tengo en mint una mezcla de repos y flatpak. Lo que me pasa con flatpak es que los iconos de algunas app se bugean en plank (como openshot o vlc), pero aún así lo prefiero.

vukits
1

¡Muchas gracias por el tutorial!

yo usé el DNI-e para sacarme el certificado digital en casa. (y desde Windows).

acto seguido, no lo he vuelto a usar :P

🗨️ 4
Winchester

debería, debería hacer lo mismo

License2Harm
2

Ciertamente el certificado digital es más cómodo ya que es sencillo tenerlo en varias máquinas y además es más sencillo de "instalar". Como contrapartida es también más sencillo perderlo o que acabe copiado en medios no seguros (en mi caso nunca abandona discos bien cifrados)

Un día probé en DNIe por el gusto de probarlo, pero no cambio el certificado digital por nada.

🗨️ 2
pjpmosteiro
1

El certificado Ceres, no sé si lo es, pero NUNCA debe exportarse sin contraseña. NUNCA.

Hay que tratarlo como si fuese el DNI, literalmente con el CERES se puede hacer cualquier cosa a tu nombre, y cualquiera es cualquiera.

Yo sólo lo tengo en mis equipos personales y jamás sale de mi red (aka, nunca en GDrive, Onedrive o similares, siempre en entornos controlados al 100%).

Dicho lo cual: Bendito invento sea, la de dolores de cabeza que me ahorra.

Winchester

Es el problema, que soy un despistado y tengo altas probabilidades de perderlo, pero que si, que es mas cómodo

elcompartidor
1

Quizas me uno para hacer uno de arch/manjaro

🗨️ 2
Winchester

Yo al final le hice caso a @vukits (creo que fue el quien me lo recomendó en otro post) y voy a darle la oportunidad a Fedora, ya lo tengo en el PC de mesa y customizado al gusto xD respecto al tutorial/guia en fedora solo hay que sustituir los primeros comandos con apt por yum, el deb por el rpm (lo hay en la web de la policía también) y listo, en Arch ni idea la verdad

🗨️ 1
elcompartidor

Es facil, en la wiki de arch bte viene como

11onzas

En la web del DNI Electrónico pone distros que no son LTS:

Distribuciones Linux

GNU7Linux Debian 11 - Bullseye (64 bits), Ubuntu 21.04 - Hirsute Hippo (64 bits), Ubuntu 21.10 - Impish Indri (64 bits)

MrPlow, no me queda claro si la distro que has usado es la LTS anterior (Ubuntu 20.04 / LinuxMint 20) o la LTS actual (Ubuntu 22.04 / LinuxMint 21), es decir, no me queda claro si se puede usar en las últimas LTS (Ubuntu 22,04 y LinuxMint 21).

🗨️ 2
Winchester

Pues está bastante claro, lo digo al principio, la última lts y studio y mint basados en la última lts, también digo que funcionan en la anterior lts

🗨️ 1
11onzas

Perdona, llevas toda la razón y además lo dices en el primer párrafo (no lo había leido hasta ahora).

Me ha levantado la duda el hecho de que la web pone distros anteriores a la última LTS.

superllo
1

Gracias por el manual. El chromium ¿no va también por snap?

🗨️ 1
Winchester

en Ubuntu si, pero se puede instalar también el de repo, Mint por ejemplo tiene de repo propio y flatpak, siempre se puede añadir el repo de mint si alguien prefiere Chromium a Chrome

Wonder

Es un poco "reflote" del tema pero…esto esta bien para navegadores, pero…AutoFirma?

No tengo narices a hacerlo andar en versiones superiores de 22.04.

Hace falta el libpkcs11-dnie que la última versión es 1.68 y es hasta debian 11 y ubuntu (derivadas) 21.04, pero no una 22.04…y eso es lo que tiendo a usar yo…

Saludos.

🗨️ 3
cisquito
1

¿Ha probado a cambiar libpkcs11-dnie por opensc-pkcs11? El primero también me daba problemas con AutoFirma y Java 11.

Con el segundo, la ruta del módulo necesario para los navegadores es /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so

Un saludo.

🗨️ 2
Wonder

Pues no lo he probado, ahora estoy en Debian 11, y ahí no hay problemas con el libpkcs11-dnie 1.68, pero probaré la kubuntu 22.04 que tengo a ver si ahí funciona.

El problema era con la AutoFirma en ubuntu (y derivadas) 22.04, en inferiores sin problema.

Thanks.

Wonder
1

Sorrys demora en reply.

En kubuntu 22.04 hice la instalación del paquete que mencionaste, opensc-pkcs11.

Tuve que instalar también libpkcs11-dnie pero…voilá, funcionó! Ahora AutoFirma me funciona perfectamente. Anteriormente había instalado libpkcs11-dnie pero es hasta versión inferior de kubuntu (o derivados de ubuntu) 22.04, en Debian no tengo problemas, pero en kubuntu si, con el paquete indicado, perfecto.

Así que, lot thanks!

Icecube

Gracias, funciona genial.