[关闭]
@torresdyl 2016-10-03T22:03:42.000000Z 字数 10694 阅读 2055

[Resumen] [Scribd] DNIe y OpenDNIe

linux DNIe certificate


Firmando digitalmente con tu DNIe
by Ricardo Borillo Domenech

https://www.scribd.com/document/86653721/Firmando-digitalmente-con-tu-DNIe

1. OpenDNIe: Documentación en CENATIC

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:

http://web.cenatic.es/dnie/

De allí tenemos muchas cosas interesantes:

0. Instalación de lectores de tarjeta

http://web.cenatic.es/dnie/index.php?option=com_content&view=article&id=75&Itemid=87

1. Lista de lectores de tarjeta compatible con DNIe:

http://web.cenatic.es/dnie/index.php?option=com_content&view=article&id=74&Itemid=71

此处输入图片的描述

2. Instalación de controllers

1. Linux

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:

  1. $ sudo aptitude update
  2. $ sudo aptitude install libc6
  3. $ sudo aptitude install libltdl3
  4. $ sudo aptitude install libss10.9.8
  5. $ sudo aptitude install libpcsclite1
  6. $ 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:

  1. $ sudo aptitude install opensc
  2. $ 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:

  1. $ sudo aptitude install pinentry-gtk2

o

  1. $ 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:

  1. $ 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:

  1. $ 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.

2. OpenSolaris

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:

  1. $ gunzip gettext-0.14.1-sol10-intel-local.gz
  2. $ 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:

  1. $ gunzip OpenSC-0.11.4-sol10-i86pc-local.gz
  2. $ 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.

3. Configuración del DNI electrónico en Mozilla / Firefox

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 EditarPreferenciasAvanzadoCifrado.
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ú EditarPreferencias 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.

4. Troubleshooting

1. Problemas leves (que incluye unas distribuciones que puede tener problemas leves)

http://web.cenatic.es/dnie/index.php?option=com_content&view=article&id=92&Itemid=92

2. Problemas graves

http://web.cenatic.es/dnie/index.php?option=com_content&view=article&id=93&Itemid=93

5. Tabla de comtabilidad de OS con DNIe

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.

6. FAQ

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.

2. Instalación (no lo tengo muy claro)

Primero, la página official:

http://www.dnielectronico.es/PortalDNIe/

que funciona hasta hoy.

Instalación al límite:

  1. 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
  2. svn checkouthttps://svn.forge.morfeo-project.org/opendnie/opensc-opendnie/trunk
  3. cd trunk; ./bootstrap; ./configure

make;

  1. sudo make install
Comprobaciones varias:
opensc-explorer
Acceso interactivo a una smart card.
sudo dnie-tool -av
Muestra información de un DNIe.
pcsc_scan
Comprueba el lector e identifica la tarjeta.
pkcs15-tool -L
Manipulación de estructuras de datos PKCS#15.

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

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注