Configura tu DNIe en Ubuntu Linux para Chrome y Microsoft Edge
Tags: spanish, linux, security, ubuntu
Published: 2021-09-23 07:06:23

En España tenemos la opción de usar el certificado digital de nuestro **DNIe** para acceder a los servicios online de la administración pública.

Si eres usuario de **Linux** te habrás encontrado con varias guías basadas en **Firefox** pero no es el caso si usas **Chrome**, **Chromium** o el mismísimo [**Microsoft Edge**](https://www.microsoftedgeinsider.com/en-us/download?platform=linux-deb) :wink:.

*__Nota__: Esta guía está basada en __Ubuntu LTS 20.04__*.

A estas alturas ya sabrás que para acceder al certificado necesitas un lector de tarjetas **Smart Card** y doy por sentado que ya dispones de él, [más info en la web oficial](https://www.dnielectronico.es/portaldnie/PRF1_Cons02.action?pag=REF_300).

Lo primero que haremos es instalar el soporte para el lector y las herramientas para gestionar la base de datos de certificados del sistema:

```shell
sudo apt update
sudo apt install pcscd pcsc-tools
sudo apt install libnss3-tools
```

Ahora introduce el **DNIe** en el lector y comprueba que es capaz de leerlo:

```shell
pcsc_scan
```
![DNIeOutput](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uba62ttbr0mjehtzo7vk.png)

El segundo paso es crear la base de datos de certificados para el usuario actual. La crearemos **sin protección por password** por lo que, por seguridad, **evitaremos que pueda ser leída por otros usuarios** del sistema.

```shell
cd "${HOME}"
mkdir -p ~/.pki/nssdb
certutil -d ~/.pki/nssdb -N --empty-password
```
Cuando te pida password pulsa `Enter`:

![CreatedCertsDB](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/13edworj0imnae7268za.png)

Asignamos los permisos adecuados:

```shell
chmod 700 ~/.pki/nssdb
```

Para ver que funciona usa el siguiente comando:
```shell
certutil -d "sql:${HOME}/.pki/nssdb" -L
```

Lo normal es que esté vacía:

![EmptyCertsDB](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/snzdrzih0zt80fjuq73v.png)

Descarga el software para distribuciones basadas en **Debian/Ubuntu** [desde la web oficial](https://www.dnielectronico.es/descargas/distribuciones_linux/libpkcs11-dnie_1.6.6_amd64.deb) o [pulsa aquí](https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1112) para el resto de distribuciones.

Cuando se inicie la descarga acepta la alerta de seguridad del navegador:
![DebPackageSecurityAlert](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oru39njej3s15brcr5eo.png)
 
E instala el paquete con el siguiente comando:
```shell
sudo dpkg -i ~/Descargas/libpkcs11-dnie_1.6.6_amd64.deb
```

**¡PRECAUCIÓN!!** El siguiente paso es **necesario para no dañar la base de datos**. HAY QUE CERRAR TODOS los navegadores y en mí caso particular, cómo utilizo el **Chrome**, he introducido el primer comando. Tu solo tienes que usar el adecuado para tu navegador.

```shell
pkill -o chrome
pkill -o msedge
pkill -o chromium
```

Y ya podemos añadir el módulo que gestiona nuestro **DNIe**:

```shell
modutil -add "DNIe" -dbdir "sql:${HOME}/.pki/nssdb" -libfile /usr/lib/libpkcs11-dnie.so
```

Comprueba que aparece en el listado:
```shell
modutil -list -dbdir ~/.pki/nssdb/
```
![DBOutput](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g81gvvks5xf1n1uwcx3f.png)

Ahora solo nos queda abrir el navegador pulsando en el siguiente link de [verificación del certificado](https://www.sede.fnmt.gob.es/certificados/persona-fisica/verificar-estado/solicitar-verificacion). El servicio te pedirá que introduzcas el **PIN** del **DNIe**, a continuación podrás seleccionarlo y esperar que la validación se complete correctamente:

![ValidCert](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e7qcml305tonl1j6y2fj.png)

Y eso es todo, espero que os sea de utilidad :smile:.

*__Nota:__ este post continua con
[Configura AutoFirma con el DNIe en Ubuntu Linux
](https://dev.to/sinhouse/configura-autofirma-con-el-dnie-en-ubuntu-linux-34gh) en el caso de que necesites usar __AutoFirma__*.