@torresdyl
2016-10-03T22:03:42.000000Z
字数 10694
阅读 2055
linux
DNIe
certificate
Firmando digitalmente con tu DNIe
by Ricardo Borillo Domenech
https://www.scribd.com/document/86653721/Firmando-digitalmente-con-tu-DNIe
Para usar certificación con DNIe, tiene que integrarlo con opensc
, pero hay problemas con Linux:
De allí surge OpenDNIe
de Juan Antonio Martínez “jonsito”.
Recomendación oficial del gobierno:
http://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1116
Enlace nuevo en CENATIC
http://www.cenatic.es/actividad-cenatic/open-dnie
, desde donde sólo se puede acceder a este link (los otros bloqueados por DNS):
Web Official de OpenDNIe:
De allí tenemos muchas cosas interesantes:
http://web.cenatic.es/dnie/index.php?option=com_content&view=article&id=75&Itemid=87
http://web.cenatic.es/dnie/index.php?option=com_content&view=article&id=74&Itemid=71
En los sistemas operativos GNU/Linux se deben instalar previamente las dependencias de los controladores del DNIe. Estos paquetes son:
La secuencia típica de instalación en línea de comandos, usando la aplicación aptitude, sería:
$ sudo aptitude update
$ sudo aptitude install libc6
$ sudo aptitude install libltdl3
$ sudo aptitude install libss10.9.8
$ sudo aptitude install libpcsclite1
$ sudo aptitude install libopenct1
La primera orden actualizaría las listas de paquetes de los repositorios, mientras que las siguientes instalan todos los paquetes necesarios.
A continuación se deberán instalar los paquetes criptográficos (OpenSC) mediante los comandos:
$ sudo aptitude install opensc
$ sudo aptitude install libopensc2
Otro requisito para la instalación del controlador PKCS#11 es el disponer de un paquete pinentry
que se ajuste al método de solicitud de contraseña que deseemos. Los paquetes pinentry
conforman una colección de diálogos que proporcionan diálogos para una captura segura del pin o la contraseña del usuario, elemento indispensable para la captura del pin del DNI electrónico.
Existen varios paquetes pinentry que implementan diálogos de inserción de contraseña en distintos entornos:
En caso de no disponer de un paquete pinentry instalado, se instalará el paquete pinentry-gtk2
para los entornos de escrito GNOME y pinentry-qt
para los entornos de escritorio KDE. Esto se realizá mediante los comandos:
$ sudo aptitude install pinentry-gtk2
o
$ sudo aptitude install pinentry-qt
A continuación, se deberá instalar el paquete del OpenSC-DNIe. Para esto descargaremos la versión apropiada del paquete del apartado de descargas de la Web del DNIe. El paquete concreto a descargar dependerá de la versión OpenSC que deseemos, la arquitectura de nuestra máquina y el propio sistema operativo que utilicemos. Cada versión de OpenSC se encuentra disponible sólo para algunas de las distribuciones GNU/Linux, así que deberemos buscar cual es la versión más reciente compatible con la nuestra. Los paquetes apropiados para las distribuciones de GNU/Linux más comunes son:
Distribución | Versión Opensc-dnie | Paquete de distribución |
---|---|---|
Debian Lenny | 1.4.6 | Debian Lenny |
Debian Etch 4 | 1.4.5 | Debian Etch |
Debian Etch IA64 | ||
Fedora 11 | ||
Fedora 9 | 1.4.5 | Fedora 9 |
gnuLinEx Lenix | 1.4.6 | Debian Lenny |
Guadalinex 6 | 1.4.6 | Ubuntu Jaunty Jackalope |
Guadalinex 5 | 1.4.6 | Ubuntu Jaunty Jackalope |
Guadalinex 4.2 | 1.4.0 | Ubuntu Hardy Heron |
LinEx 2008 Beta | 1.4.5 | Debian Etch |
LinEx 2006 | ||
LinEx Colegios | ||
Linkat 3.0 beta | 1.4.5 | Fedora 9 |
Linkat 2.0 | ||
Lliurex 8 | 1.4.0 | Ubuntu Gutsy |
MAX 4 | 1.4.0 | Ubuntu Hardy Heron |
Molinux 4 | 1.4.0 | Ubuntu Edgy |
Molinux 4.2 Toboso | 1.4.5 | Ubuntu Hardy Heron |
OpenSUSE 11.1 | 1.4.6 | Fedora 10 |
Trisquel 2 | 1.4.0 | Ubuntu Gutsy |
Ubuntu Hardy Heron | 1.4.6 | Ubuntu Hardy Heron |
Ubuntu Jaunty Jackalope | 1.4.6 | Ubuntu Jaunty Jackalope |
Ubuntu Intrepid Ibex | 1.4.6 | Ubuntu Intrepid Ibex |
Ubuntu Gutsy Gibbon | 1.4.0 | Ubuntu Gutsy |
Ubuntu Feisty Fawn | 1.4.0 | Ubuntu Feisty |
Ubuntu Edgy Eft | 1.4.0 | Ubuntu Edgy |
Ubuntu Dapper Drake | 1.4.0 | Ubuntu Dapper |
Los paquetes listados deberán instalarse en su versión de 32 ó 64 bits según corresponda al sistema operativo del usuario.
Aquellas distribuciones en las que no se ha indicado un paquete para la instalación de los drivers no son compatibles con ninguna de las versiones empaquetadas de los drivers del DNIe en el momento de realizar esta guía. Esta lista de paquetes está en continuo crecimiento, así puede ocurrir que aparezcan paquetes concretos para distribuciones que actualmente requieren el paquete de otra distribución o no están soportadas.
Una vez descargado el paquete apropiado se deberá proceder a su instalación. Por ejemplo, si se desea instalar el paquete opensc-dnie_1.4.0-5_i386_Debian_Etch.deb.tar
, se deberá desempaquetar este mediante:
$ tar xvf opensc-dnie_1.4.0-5_i386_Debian_Etch.deb.tar
Seguidamente, se instalará según el sistema operativo y el sistema de empaquetado que utilice. Por ejemplo:
$ sudo dpkg -i opensc-dnie_1.4.0-5_i386.deb
Una vez finalizada la instalación del controlador del DNIe es recomendable reiniciar el ordenador para que los cambios surtan efecto.
Poder utilizar el DNI electrónico en un sistema operativo OpenSolaris requiere instalar el paquete OpenSC-DNIe correspondiente para Solaris 10.
Este paquete tiene una serie de dependencias que deberemos cubrir: gettext, libintl, libgcc, libtool, ncurses, openssl, zlib. Podemos descargar estos paquetes desde: http://sunfreeware.com.
Los comandos para instalar los paquetes son:
$ gunzip gettext-0.14.1-sol10-intel-local.gz
$ pkgadd -d gettext-0.14.1-sol10-intel-local
Deberemos repetir esta operación para cada uno de estos paquetes.
A continuación, ya podemos descargarnos la versión de OpenSC correspondiente a nuestro sistema operativo y arquitectura desde:
https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1114
Para la instalación de OpenSC-DNIe deberos descomprimir e instalar:
En arquitectura Intel (32 y 64 bits):
En arquitectura SPARC (32 y 64 bits):
Para ello, se deberá acceder a un terminal y ejecutar los comandos:
$ gunzip OpenSC-0.11.4-sol10-i86pc-local.gz
$ pkgadd -d OpenSC-0.11.4-sol10-i86pc-local
Deberá realizar esta operación con cada uno de los paquetes nombrados anteriormente que se correspondan con la arquitectura del equipo en donde se realiza la instalación.
En los sistemas operativos GNU/Linux y Solaris, la gran mayoría de las aplicaciones (OpenOffice.org, Thunderbird, etc.) utilizan la infraestructura de criptografía que proporciona Mozilla/Firefox. Esta infraestructura proporciona, entre otros servicios, acceso a los certificados de usuario instalados en el almacén software del navegador Web e información sobre los módulos PKCS#11 existentes en el sistema, incluyendo el controlador PKCS#11 del DNIe.
Aunque el empaquetado de opensc-dnie contiene un script que automatiza la instalación en Firefox del módulo PKCS#11 y los certificados raíz de la DGT, se ha detectado que con la versión 3.0 y superiores este no funciona correctamente, debiéndose proceder a la instalación manual. Para que las aplicaciones tengan acceso al DNIe se deberá enlazar el PKCS#11 de éste desde el repositorio de certificados de Mozilla. Esta operación puede realizarse desde Mozilla Firefox de la siguiente manera:
Cargar el módulo PKCS opensc-pkcs11.so
, situado en el directorio /usr/lib/. Para ello será necesario abrir el navegador web Firefox, acceder a Editar → Preferencias → Avanzado → Cifrado.
Una vez en la sección Cifrado, se debe pulsar en el botón Dispositivos de seguridad y en el botón Cargar de la pantalla emergente para crear un nuevo Dispositivo PKCS al que asociarle el módulo.
Para la instalación del certificado raíz del DNIe habrá que descargarlo de la web del DNIe e importarlo a Firefox como autoridad de certificación reconocida. Esto se realiza accediendo al menú Editar → Preferencias y, en la nueva pantalla, pulsando en el botón Certificados de la pestaña Avanzado. En la ventana emergente se puede importar el certificado desde la pestaña Autoridades.
Por último, será necesario modificar el archivo opensc.conf
desactivando todas las opciones de emulación del PKCS#15 comentando las líneas correspondientes.
http://web.cenatic.es/dnie/index.php?option=com_content&view=article&id=92&Itemid=92
http://web.cenatic.es/dnie/index.php?option=com_content&view=article&id=93&Itemid=93
A continuación se muestra una tabla con la información referente los sistemas operativos de fuentes abiertas analizados y el resultado final obtenido tras las pruebas. El que un sistema operativo no aparezca en la lista no indica que no pueda instalarse el DNIe en él, sólo que no se han realizado pruebas sobre el mismo.
Sistema Operativo | Resultado |
---|---|
Sistemas GNU/Linux (Distribuciones regionales) | |
gnuLinEx Lenix | OK |
Guadalinex 6 | OK |
Guadalinex 5 | OK |
Guadalinex 4.2 | OK |
MAX 4 | OK |
LinEx 2008 Beta | NO |
LinEx 2006 | NO |
LinEx Colegios | NO |
Linkat 3.0 beta | OK |
Linkat 2.0 | NO |
Lliurex 8 | OK |
Molinux 4.2 Toboso | OK |
Molinux 4 | OK |
OpenSUSE 11.1 | OK |
Trisquel 2 | OK |
Sistemas GNU/Linux (Distribuciones generales) | |
Debian Lenny | OK |
Debian Etch 4 | OK |
Debian Etch IA64 | NO |
Fedora 11 | NO |
Fedora 9 | OK |
Ubuntu Jaunty Jackalope | OK |
Ubuntu Hardy Heron | OK |
Ubuntu Intrepid Ibex | OK |
Ubuntu Gutsy Gibbon | OK |
Ubuntu Feisty Fawn | OK |
Ubuntu Edgy Eft | OK |
Ubuntu Dapper Drake | OK |
Sistemas OpenSolaris | |
OpenSolaris 2009.06 | NO |
OpenSolaris 2008.05 | OK |
La tabla anterior refleja el resultado de realizar una instalación común del lector de tarjetas y el DNIe en estos sistemas operativos, así como la resolución de problemas simples mediante métodos al alcance de un usuario medio. En todo caso en el que la instalación del DNIe requiriese al usuario conocimientos avanzados de informática, se ha interpretado que el sistema operativo en cuestión no soportaba de forma nativa el DNIe.
http://web.cenatic.es/dnie/index.php?option=com_content&view=article&id=95&Itemid=95
Y luego, instrucciones para usuarios de paquete Office de Microsoft, de correo electrónicos, y un manual en general, que tiene más informaciones que aquí.
http://web.cenatic.es/dnie/images/stories/Guia_DNIe_v0_4.pdf
Su índice es:
Lo tengo imprimido como referencia.
Primero, la página official:
http://www.dnielectronico.es/PortalDNIe/
que funciona hasta hoy.
Instalación al límite:
sudo apt-get install build-essential pkg-config autoconf automake docbook-xsl subversion pcscd libpcsclite-dev pcsc-tools libreadline6 libreadline-devlibopenct-dev openssl libssl-dev libtool libltdl-dev libccid
svn checkouthttps://svn.forge.morfeo-project.org/opendnie/opensc-opendnie/trunk
cd trunk; ./bootstrap; ./configure
make;
sudo make install
Comprobaciones varias:
Instalación en Mac OSX:
● Binarios:
http://www.kounch.com/download/opendnie/
● Compilación desde los fuentes:
http://bit.ly/GDoxQk
Y más herramientas:
● Autor: Luis Fernando Pardo
http://es.linkedin.com/in/lfern
● Página principal + Putty DNIe:
http://puttydnie.es/puttydnie/dnie-provider
● Código fuente:
https://github.com/lfern/dnieprov