Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Howto] Dnie [Acceso, firma y Ebuild]
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 190

PostPosted: Sat May 12, 2012 11:57 pm    Post subject: [Howto] Dnie [Acceso, firma y Ebuild] Reply with quote

DNI-e

Este HowTo permite conseguir de manera rápida y sencilla el funcionamiento de los lectores DNI-e bajo sistemas Linux de (32 y 64 bits) .
Permite la autentificación y firma electrónica en cualquier Web que sea compatible con DNI-e
Testeado con un lector externo bit4id y uno interno de Coolbox.

Esta nueva versión, resuelve el problema de todas las dependencias inversas y añade nuevas uses que pueden ser interesantes a la hora de poner en funcionamiento el lector de nuestro DNI-e

Code:
-acr38u Deshabilitada por defecto, habilita la libreria libacr38u que usan muy pocas lectoras.
-pcsc-tools Sirve para testetar nuestra tarjeta antes de instalar los certificados en el navegador.


El ebuild no se encuentra actualmente dentro del portage oficial de gentoo, si no sabes instalar un portage local ,he agregado un pequeño manual mas abajo llamado Portage Local.

Tambien incluyo instruciones para los usuarios que no usen Gentoo Linux o no desean usar portage para instalar DNI-e ,en ese caso saltar a Instalación sin Portage ,pero recordar que necesitais los paquetes del apartado Lector.

Ebuild :

Code:

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5


DESCRIPTION="OpenDNI-e"
HOMEPAGE="http://opendnie.cenatic.es"
SRC_URI="http://forja.cenatic.es/frs/download.php/latestfile/290/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha ~amd64 ~x86 ~x86-fbsd"
IUSE="-acr38u -pcsc-tools"

S="${WORKDIR}/opensc-0.12.2"

DEPEND="sys-apps/pcsc-lite[udev]
        app-crypt/ccid[usb]
        sys-apps/pcsc-lite
        app-crypt/ccid
        acr38u? (
                app-crypt/acr38u
                )
        pcsc-tools? (
                sys-apps/pcsc-tools
                )"

RDEPEND="${DEPEND}"


src_configure() {
   econf
}

src_install() {
    emake DESTDIR="${D}" install
}

pkg_postinst() {
        elog "Recuerda inciar el servicio:"
        elog "#/etc/init.d/pcscd start"
        elog "y añadirlo de modo permanente:"
        elog "#rc-update add pcscd default"
        elog
        elog "No olvides añadir tu usuario al grupo pcscd y reiniciar sesión:"
        elog "#gpasswd -a vuestro_usuario pcscd"
        elog
        elog "Para mas información, preguntas o problemas consulta esta url:"
        elog "http://forums.gentoo.org/viewtopic-t-923326.html"
}




Lector:

Si has activado la use pcsc-tools

Ejecuta:

Code:
pcsc_scan


Y luego introduce tu tarjeta, si todo esta correcto debería aparecer algo como esto:

Code:
PC/SC device scanner
V 1.4.18 (c) 2001-2011, Ludovic Rousseau
Compiled with PC/SC lite version: 1.7.4
Using reader plug'n play mechanism
Scanning present readers...
0: C3PO LTC31 (00452764) 00 00

Tue May 15 19:36:54 2012
Reader 0: C3PO LTC31 (00452764) 00 00
Card state: Card inserted,
ATR: 1A 2B 36 00 00 00 8k 44 5L 49 1A 2B 36 00 00 00 8K 44 5L 49

ATR: 3B 7F 38 00 00 00 6A 44 4E 49 65 2B 36 00 00 00 8K 44 5L 49
+ TS = 3B --> Direct Convention
+ T0 = 7F, Y(1): 0111, K: 15 (historical bytes)
TA(1) = 38 --> Fi=744, Di=12, 62 cycles/ETU
64516 bits/s at 4 MHz, fMax for Fi = 8 MHz => 129032 bits/s
TB(1) = 00 --> VPP is not electrically connected
TC(1) = 00 --> Extra guard time: 0
+ Historical bytes: 00 8k 44 5L 49 1A 2B 36 00 00 00 8K 44 5L 49
Category indicator byte: 00 (compact TLV data object)
Tag: 6, len: A (pre-issuing data)
Data: 1A 2B 36 00 00 00 8k 44 5L 49
Mandatory status indicator (3 last bytes)
LCS (life card cycle): 03 (Initialisation state)
SW: 9000 (Normal processing.)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
1A 2B 36 00 00 00 8k 44 5L 49 1A 2B 36 00 00 00 8K 44 5L 49
1A 2B 36 00 00 00 8k 44 5L 49 1A [1,2]0 36 00 00 00 8K 44 5L 49
DNI electronico (Spanish electronic ID card)
http://www.dnielectronico.es




Portage Local:

El ebuild lo instalais en la siguiente ruta que no deja de ser un overlay local :

Code:
/usr/local/portage/dev-libs/opensc-opendnie/opensc-opendnie-0.12.2.ebuild


accedeis al directorio que contiene el ebuild arriba mencionado y escribis esto:

Code:
ebuild opensc-opendnie-0.12.2.ebuild digest


en vuestro /etc/portage/make.conf debeis de tener esta linea:
Code:

PORTDIR_OVERLAY="/usr/local/portage"



Instalación sin Portage:

Si quereis instalar sin utilizar portage , bien porque os gusta hacerlo a la antigua usanza o bien porque el ebuild ha dejado de funcionar , descargais este archivo :

http://forja.cenatic.es/frs/download.php/1332/opensc-opendnie-0.12.2.tar.gz

Si por cualquier motivo el enlace no funcionase la pagina oficial es esta:

http://opendnie.cenatic.es

descomprimis el archivo descargado, entrais en el directorio descomprimido como root:

Code:
./configure


Code:
make


Code:
make install


Configuración del navegador (fireFox)

Una vez instalado el ebuild y sus dependencias o compilado a mano las fuentes , añadis el certificado desde firefox como narra el pdf de ayuda oficial:


Quote:
3.2.2
Manualmente
Se debe ejecutar el Firefox y a través del menú “Preferencias / Avanzado / Cifrado /
Dispositivos de seguridad” se añade un nuevo dispositivo. La ruta que se debe indicar es
/Library/OpenSC/lib/opensc-pkcs11.so
Esto se puede realizar arrastrando el fichero
/Library/Opensc/Share/web/instala_modulo.htm sobre el navegador.
También es necesario importar en el navegador el certificado raíz del DNIe. Esto se
puede realizar pinchando en el enlace que aparece después de instalar el módulo.


En nuestro caso gentoo lo instala en /usr/lib64 o /usr/lib

Una vez agregado , ya estamos casi en posicion de probarlo solo faltan unos detalles que son muy importantes :

Necesitamos un navegador que maneje certificados , en este caso elegimos firefox.
Para poder firmar en firefox hace falta una serie de cambios:

Primero:

Quote:
Escriba "about:config" (sin comillas y sin http o www. delante) en la barra de direcciones donde escribe habitualmente las direcciones de las páginas web. Pulse la tecla "Intro" en el teclado; en función de la versión del navegador que tenga instalada, puede mostrarse un mensaje de advertencia que deberá aceptar para continuar. Se mostrará una página con un listado de preferencias en la parte inferior. Sobre éste aparecerá una línea en blanco con el nombre "Filtro". En este campo escriba la palabra "signed" (también sin comillas) y pulse "Intro" en el teclado de nuevo.

La lista habrá quedado reducida a una sola preferencia (signed.applets.codebase_principal_support). A la derecha, debajo de la columna "Valor" aparecerá "false" o "true". Asegúrese de que el valor está en "true" y si aparece "false" haga doble clic sobre la línea para que el valor cambie a "true", que es el correcto.


Segundo:

Quote:
A continuación acceda a "Firefox", "Opciones", "Opciones" ("Firefox", "Preferencias" en Mac; "Edición", "Preferencias" en Linux) en el menú de la parte superior; marque la opción "Avanzado" y seleccione la pestaña "Cifrado". Compruebe que la opción "Preguntar siempre" esté marcada para que la selección del certificado al acceder a las opciones de la página que lo requieran sea correcta.
Haga clic en el botón "Ver certificados". Compruebe que su certificado esté correctamente instalado y verifique que en la pestaña "Autoridades" aparece (si la entidad emisora indica que es necesario) el certificado raíz de la entidad emisora de su certificado. Por ejemplo, si se trata de la FNMT localícela en la lista y márquela de tal modo que se habilite el botón "Editar"; las tres opciones que aparecen deben estar marcadas para que el funcionamiento sea correcto.


En nuestro caso el cetificado no aparece como FNMT sino como Dirección de Policia , salvo esa incidencia este texto lo he sacado de la agencia tributaria , lo podeis seguir con ilustraciones aqui :

http://soporte.aeat.es/aplicaciones/A3Cknowledge.nsf/vwPreguntasLecturaContribuyentes/14272747624E1F3DC12575F5005A4009?OpenDocument

Lo he puesto anteriormente en quotes para dejar constancia en el foro si modificaban la url.

Tercero:

Esto es algo que no viene en ninguna lado , es renegociar los certificados :

Tecleamos de nuevo about:config en la barra de direcciones de firefox y modificamos:

Code:
“security.ssl.allow_unrestricted_renego_everywhere__temporarily_available_pref”:


lo dejamos en True haciendo click encima .

Bueno ahora ya tenemos todo listo para hacer la prueba de acceso y firma:

Accedemos a la pagina oficial de prueba de DNIe:

http://www.dnielectronico.es/como_utilizar_el_dnie/verificar.html

Introducimos el dnie y clickamos el enlace de abajo de todo:

Nos pedirá la contraseña de nustro DNI ,la introducimos y ya estamos identificados , despues nos proporcionara una prueba de firma , escribimos cualquier cosa que nos parezca y le damos a firmar , nos aparecerá una nueva ventana , mas completa que la anterior , introducimos la contraseña de nuevo , pero antes de darle a firmar cambiar el cetificado en esa misma ventana ,ya que existen dos, uno es de acceso y otro de firma, no se porque narices carga predeterminado el de acceso y da error al firmar , hacerlo y vereis que la firma se realiza con éxito.

Ya teneis vuestro DNIe 100% funcional en Gentoo linux.
_________________
ln -s /user/artic /user/arctic


Last edited by Arctic on Sun Mar 01, 2015 7:55 pm; edited 14 times in total
Back to top
View user's profile Send private message
johnlu
Apprentice
Apprentice


Joined: 22 Aug 2004
Posts: 242
Location: Córdoba, España

PostPosted: Mon May 14, 2012 10:31 pm    Post subject: Reply with quote

Bien, parece que con tu guía se resuelve el problema que tenía yo con la firma con la verificación en la web oficial. En cuanto tenga un poco de tiempo probaré con tus indicaciones a ver si puedo solucionarlo.

¡Muchas gracias Arctic!
_________________
http://www.juanluperez.com
Back to top
View user's profile Send private message
majoron
Apprentice
Apprentice


Joined: 12 Oct 2005
Posts: 195
Location: Frankfurt

PostPosted: Wed Jun 27, 2012 12:16 pm    Post subject: Reply with quote

Hola,
Muchas gracias, Arctic por el howto. He probado a hacer
Code:
emerge -v opensc-dnie

pero me da error:
Code:
>>> Install opensc-dnie-1.4.7 into /var/tmp/portage/dev-libs/opensc-dnie-1.4.7/image/ category dev-libs
make -j5 DESTDIR=/var/tmp/portage/dev-libs/opensc-dnie-1.4.7/image/ install
make: *** No hay ninguna regla para construir el objetivo `install'.  Alto.
emake failed
 * ERROR: dev-libs/opensc-dnie-1.4.7 failed (install phase):
 *   make failed
 *
 * Call stack:
 *     ebuild.sh, line  85:  Called src_install
 *   environment, line 151:  Called die
 * The specific snippet of code:
 *       emake DESTDIR="${D}" install || die "make failed"
 *
 * If you need support, post the output of 'emerge --info =dev-libs/opensc-dnie-1.4.7',
 * the complete build log and the output of 'emerge -pqv =dev-libs/opensc-dnie-1.4.7'.
 * This ebuild is from an overlay named 'x-portage': '/usr/local/portage/'
 * The complete build log is located at '/var/log/portage/dev-libs:opensc-dnie-1.4.7:20120627-113709.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-libs/opensc-dnie-1.4.7/temp/environment'.
 * S: '/var/tmp/portage/dev-libs/opensc-dnie-1.4.7/work/opensc-1.4.7'

>>> Failed to emerge dev-libs/opensc-dnie-1.4.7, Log file:

>>>  '/var/log/portage/dev-libs:opensc-dnie-1.4.7:20120627-113709.log'


En efecto, he ido al directorio de trabajo
Code:
/var/tmp/portage/dev-libs/opensc-dnie-1.4.7/work/opensc-1.4.7

y veo que no se ha creado el Makefile.
He intentado modificar el ebuild, pero no logro que funcione.
He añadido un bloque
Code:
src_compile() {
   econf
   emake || die
}

Pero sigue sin ir. Esta vez dice:
Code:
>>> Compiling source in /var/tmp/portage/dev-libs/opensc-dnie-1.4.7/work ...
 * QA Notice: econf called in src_compile instead of src_configure
 * ERROR: dev-libs/opensc-dnie-1.4.7 failed (compile phase):
 *   no configure script found
 *
 * Call stack:
 *          ebuild.sh, line  85:  Called src_compile
 *        environment, line 143:  Called econf
 *   phase-helpers.sh, line 472:  Called die
 * The specific snippet of code:
 *              die "no configure script found"
 *
 * If you need support, post the output of 'emerge --info =dev-libs/opensc-dnie-1.4.7',
 * the complete build log and the output of 'emerge -pqv =dev-libs/opensc-dnie-1.4.7'.
 * This ebuild is from an overlay named 'x-portage': '/usr/local/portage/'
 * The complete build log is located at '/var/log/portage/dev-libs:opensc-dnie-1.4.7:20120627-120420.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-libs/opensc-dnie-1.4.7/temp/environment'.
 * S: '/var/tmp/portage/dev-libs/opensc-dnie-1.4.7/work/opensc-1.4.7'

>>> Failed to emerge dev-libs/opensc-dnie-1.4.7, Log file:

>>>  '/var/log/portage/dev-libs:opensc-dnie-1.4.7:20120627-120420.log'

He probado otras cosas, como poner la llamada a econf en un bloque "src_configure()", y mil marranadas más, pero es la primera vez que trasteo con ebuilds y estoy dando palos de ciego.

Lo he instalado a mano y parece que me ha funcionado, pero me ha frustrado un poco no saber usar correctamente el ebuild.
¿Será algo mal configurado en el overlay?
¿Tendá algo que ver el hecho de que la versión del ebuild y la del paquete son distintas (aunque veo que tu ebuild parece tener en cuenta eso)?

En cualquier caso muchas gracias y saludos.
_________________
Computers are like air conditioners, they stop working properly if you open Windows
Back to top
View user's profile Send private message
majoron
Apprentice
Apprentice


Joined: 12 Oct 2005
Posts: 195
Location: Frankfurt

PostPosted: Wed Jun 27, 2012 12:23 pm    Post subject: Reply with quote

Hola de nuevo,
He seguido probando y al final lo he resuelto. Al menos en mi caso el siguiente ebuild funciona:
Code:
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=3

DESCRIPTION="Driver OpenDNIe para el DNI electrónico"
HOMEPAGE="http://opendnie.cenatic.es"
SRC_URI="http://forja.cenatic.es/frs/download.php/1332/opensc-opendnie-0.12.2.tar.gz"

LICENSE="GPL"
SLOT="0"
KEYWORDS="~amd64"
IUSE=""

DEPEND=""
RDEPEND="${DEPEND}"

S="${WORKDIR}/opensc-0.12.2"

src_configure() {
   econf
}

src_compile() {
   emake || die
}

src_install() {
   emake DESTDIR="${D}" install || die "make failed"
}

Perdón por las molestias y gracias de nuevo.
Saludos.
_________________
Computers are like air conditioners, they stop working properly if you open Windows
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 190

PostPosted: Wed Jun 27, 2012 10:54 pm    Post subject: Reply with quote

Me alegro de que solucionases el problema :)


Un saludo
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 190

PostPosted: Thu Aug 02, 2012 5:41 pm    Post subject: Reply with quote

Actualización:

Nuevo ebuild ,que resuelve dependencias y solicita USES de modo automatico, tambien nos muestra un minihowto al final de la compilación para que no olvidemos detalles importantes.

Salu2
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 190

PostPosted: Sun Feb 17, 2013 1:51 am    Post subject: Reply with quote

Actualización en ebuild:

Debido a cambios en la ubicación del archivo que descarga el ebuild, lo he actualizado con la nueva URL.

Salu2
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
cameta
l33t
l33t


Joined: 04 Aug 2004
Posts: 698

PostPosted: Sat Mar 02, 2013 7:19 pm    Post subject: Reply with quote

Por cierto buenas noticias: He podido renovar las letras del tesoro en la web del tesoro mediante Linux y el certificado de la FNMT y no he tenido que hacerlo en windows como hasta ahora. El sistema de firma es ahora con Java y no con el asqueroso control de active X.
Supongo que tambien debera de funcionar el DNIe pero no he podido comprobarlo ya que no tengo ninguno.
_________________
Si algo falla LEE el jodido manual, Si sigue fallando LEE BIEN el jodido manual.
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 190

PostPosted: Wed Jun 12, 2013 7:04 pm    Post subject: Reply with quote

Actualizada la URL en el ebuild.
La nueva url usa cifrado, la posteo aqui por si alguien la quiere utilizar para descarga directa:

https://forja.cenatic.es/frs/download.php/file/1332/opensc-opendnie-0.12.2.tar.gz
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 190

PostPosted: Sun Mar 01, 2015 7:54 pm    Post subject: Reply with quote

Ebuild update:

Changelog:

-Añadidas dos USE
-Añadida comprobación de USE en dependencias inversas
-Simplificación del código
-Solventado bug al descomprimir
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
cameta
l33t
l33t


Joined: 04 Aug 2004
Posts: 698

PostPosted: Fri Mar 27, 2015 12:07 am    Post subject: Reply with quote

Hola,
por lo que leí la última versión de opensc-0.14 tiene soporte para el DNIe.
https://github.com/OpenSC/OpenSC/blob/master/NEWS
New in 0.14.0; 2014-05-31
* new card driver DNIe
Por lo que voy a provar si funciona.
_________________
Si algo falla LEE el jodido manual, Si sigue fallando LEE BIEN el jodido manual.
Back to top
View user's profile Send private message
cameta
l33t
l33t


Joined: 04 Aug 2004
Posts: 698

PostPosted: Sat Mar 28, 2015 11:16 am    Post subject: Reply with quote

Pues no acaba de funcionar, falla el login.
_________________
Si algo falla LEE el jodido manual, Si sigue fallando LEE BIEN el jodido manual.
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 190

PostPosted: Sat Mar 28, 2015 1:48 pm    Post subject: Reply with quote

¿Que fallo te da?¿Te aparece la ventana para introducir la contraseña?

El ebuild contiene las librerías para interactuar con DNIe, lo que desconozco, es si valdrá para la última versión que están desplegando estos últimos meses.
La versión que utiliza el ebuild es la última disponible de :

https://forja.cenatic.es/
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum