Acceso al DNI electrónico en Mandriva 2007 y Windows XP

 

 

Por Fernando Acero

Para este fin de semana tenía previsto configurar el sistema para poder usar las tarjetas criptográficas de Ceres y el e-DNI desde mi Mandriva 2007.

Desgraciadamente, no ha podido ser. El lector que venía con el CryptoKit de la Real Casa de la Moneda (Fábrica Nacional de Moneda y Timbre), viene con un lector de la empresa C3PO, el LTC31, pero en su versión 1. Si fuera versión 2, no habría problema para que fuera reconocido por mi núcleo 2.6.17, pero al ser versión 1, es necesario parchear y recompilar el núcleo. El parche no está disponible en la página Web de C3PO, por lo que lo he solicitado por correo electrónico y me toca esperar, al mismo tiempo que he solicitado información sobre el sitio en el que se puede adquirir en Madrid un lector de C3PO LTC31 en su versión V2...

Aprovechando el tirón configuré mi ordenador corporativo, que muy a mi pesar funciona con Windows XP, para que funcionase con la tarjeta Ceres, el e-dni y la PKI corporativa, a lo que he de decir, que no es tan trivial como sería deseable para un usuario doméstico o con pocos conocimientos. De nuevo, tuve un problema, no pude exportar mis certificados de la FNMT ya que los que uso son de 2048 bits (como cabía esperar) y la tarjeta Ceres del CriptoKit solamente acepta certificados de 1024 bits, algo que no entiendo, puesto que Ceres proporciona certificados de software de 2048 bits. Estuve tentado, aprovechando que está muy próxima la renovación, de cambiarlos por unos de 1024, pero la verdad es que me lo estoy pensando ya que cambiar posibilidad de tarjeta y encima con mal soporte para Linux (al menos para la distribución que uso), por tamaño de clave, no creo que sea una buena idea y menos, en los tiempos que corren y sabiendo lo que ya sabemos.

Cuando digo que el acceso al e-DNI no es algo trivial, ni bajo Linux, ni bajo Windows, no deja de tener connotaciones negativas a la hora de generalizar el uso de la PKI en sus distintos sabores. Básicamente, para usar un sistema de PKI basado en tarjetas inteligentes, tanto en Linux como en Windows, hacen falta varios elementos instalados y configurados adecuadamente en nuestro ordenador:

a) Un lector de tarjetas inteligentes con sus correspondientes controladores.
b) Los controladores de la tarjeta inteligente.
c) Los certificados raíz de la autoridad de certificación.
d) Un software que haga uso de estos certificados, como un navegador, cliente de correo, o un software de firma y cifrado de archivos.

Es evidente, que esto no se configura y se instala en dos minutos y lo más importante, es necesario tener derechos de administración sobre la máquina para poder hacer todo esto, algo que no siempre ocurre. Contrariamente a lo que se pueda pensar, puede que las cosas acaben siendo más sencillas con Linux. Aunque el soporte que se le da desde el proyecto Ceres y el e-DNI para Linux es para muchos usuarios de Linux, claramente insuficiente, sobre todo, para los usuarios de distribuciones como Mandriva o Suse, hay que señalar, que distribuciones como Guadalinex y Linex, incorporan todo este soporte de serie, al menos, en lo que respecta a los controladores específicos para el e-DNI, o la tarjeta Ceres de la FNMT, así como los certificados raíz de las autoridades de certificación correspondientes.

Por ello, solamente habría que disponer de un lector soportado por pcsc-lite, para poder acceder a la PKI desde cualquier ordenador que tuviera una de estas populares distribuciones Linux. Dicho de otro modo, nos bastaría con pinchar el lector en un puerto USB, no necesitando instalar nada ni tener permisos de administración sobre la máquina. Algo que también se extiende de forma muy interesante a las versiones “Live” de estas populares distribuciones Linux y que está en consonancia con lo que ya comenté sobre la necesidad o conveniencia de un entorno seguro de firma.

Dicho lo anterior, dejaremos el soporte del e-DNI para otra aventura posterior, pero de lo que estoy seguro, es que si queremos que funcione y generalice esto de la firma electrónica, es necesario que todo sea lo más sencillo posible para los usuarios. Siendo conveniente, que todo o la mayor parte de lo necesario se encuentre preinstalado y listo para funcionar en los sistemas operativos, a falta en todo caso, de los controladores de lector de tarjetas. Para muestra un botón, varias personas usuarias de Windows XP / Vista, ya me han pedido ayuda para configurar sus sistemas para trabajar con el e-dni y para que les explique cómo utilizarlo, lo que implica que algo falla en todo esto. Dicho esto, si los usuarios no alcanzan a instalar la firma electrónica en sus sistemas, menos comprenderán los riesgos y problemas que conlleva, pero esto es otra historia.

Copyleft 2008 Fernando Acero Martín. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved.

Comentarios

Selecciona arriba tu forma preferida de visualizar los comentarios y pulsa el botón para guardar tu elección para próximas visitas (sólo si eres usuario registrado).
anónimo's picture

Problemas con gentoo también


Yo he probado a intentar instalarlo en gentoo y tengo la versión 2 del aparato, tengo el código objeto para compilar los módulos y el programa (pero no compila), he probado de todo, pero solo va en ubuntu (aunque te bajes las librerias antiguas una a una y uses chroot).

Creo que es más dificil programar los drivers (tanto de acceso a la tarjeta como del aparato) incompatibles para el resto de sistemas ¿no les sería más fácil liberar todo?. Aún en el caso que no liberasen nada... ¡que al menos den el código objeto con la nueva api de acceso al programa este!. Por cierto, en google encuentras el parche (que eran pocas líneas). Si quieres te puedo pasar en un zip el CD que tengo yo, pero no creo que te sirva.

Fernando Acero's picture

Esperaré a que me lo envíen los de C3PO


Espero que mañana me manden un correo con el parche, gracias por el ofrecimiento. Mi primer objetivo es hacer que funcione el lector, tengo menos esperanzas en los controladores de las tarjetas, que cada uno es de su padre y de su madre. Con Firefox, cada controlador es un dispositivo a instalar, "dll" en Windows y ".o" en Linux.

En Windows lo que más me ha costado es que el Explorer "viera" los certificados de la tarjeta, no ha sido fácil, al final he tenido que abrir una consola y ejecutar un programa que viene con el KriptoKit, como he dicho, no apto para usuarios con pocos conocimientos. Si querían algo para que usase todo el mundo, mucho me temo que no lo han logrado. Si lo que tiene un "soporte" completo como puede ser el Windows XP se instalan las cosas con problemas, no te quiero decir en otros sistemas con menos "suerte".

Lo curioso es que con mi tarjeta corporativa desde Windows, Explorer ve los certificados sin pedir contraseña y solamente la pide cuando vas a cifrar o firmar algo, o cuando te solicitan un certificado para autentificarte en una web, sin embargo, con Firefox, pide siempre la contraseña al principio cuando solicitas ver los certificados que contiene la tarjeta.

"Copyleft 2008 Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved".

"Copyleft Fernando Acero Martí­n. Verbatim copying, translation and distribution of this entire article is permitted in any digital medium, provided this notice is preserved. Quotation is allowed."

anónimo's picture

Instalar DNIe en gentoo


Os envio unos pasos, que quizas no sean la mejor forma de hacerlo, pero consiguen hacer funcionar el opensc-dnie en gentoo.

AVISO: Para que os funciona correctamente es necesario instalar el ebuild más actual del opensc que es la versión 0.11.4, debereis desenmascararlo.

Primero hacemos un emerge de la herramienta dpkg que es la que utilizan Debian y Ubuntu para gestionar los paquetes:

# emerge dpkg

A continuación nos descargamos el paquete OPENSC-DNIe para gutsy:

$ wget http://www.dnie.es/descargas/PKCS11_para_Sistemas_Unix/Ubunt_Gutsy.tar

Lo descomprimimos, y accedemos al paquete .deb

$ tar xvf Ubuntu_Gutsy.tar
$ cd Ubuntu_Gutsy

Y aqui viene el truco:

$ dpkg -x opensc-dnie_1.4.0-5_i386.deb .

Esto nos extrae el contenido del paquete en el mismo directorio.

A continuación copiamos las librerias que nos interesan:

cp -r usr/lib/* /usr/lib/

Una vez copiado modificamos el archivo /etc/opensc.conf y añadimos las siguientes lineas debajo de:

# reader_drivers = openct, pcsc, ctapi;
reader_drivers = pcsc;

y debajo de:
# card_drivers = customcos, internal;

card_drivers = dnie;
card_driver dnie {
#The location of the driver library
module = /usr/local/lib/libopensc-dnie.so;
}

Y ya debería funcionar. Si hacemos un $pkcs11-tool -lO nos pedirá el PIN y a continuación veremos los certificados.

jonsito's picture

Parche (y mas)


Hola Fernando.

Hardware Compatibility list (y mas) de lectores con linux:

http://pcsclite.alioth.debian.org/ccid.html

De paso, en dicha lista viene el enlace al parche:

http://pcsclite.alioth.debian.org/ltc3xusb_on_kernel_2_6_11....

--- drivers/usb/host/uhci-hcd.c.orig	2005-04-18 18:03:04.859189629 +0200
+++ drivers/usb/host/uhci-hcd.c	2005-04-18 18:08:50.134925110 +0200
@@ -1089,10 +1089,6 @@
          {
          int ret;
-         /* Can't have low-speed bulk transfers */
-         if (urb->dev->speed == USB_SPEED_LOW)
-         return -EINVAL;
          ret = uhci_submit_common(uhci, urb, eurb, uhci->skel_bulk_qh);
          if (ret == -EINPROGRESS)
          uhci_inc_fsbr(uhci, urb);

Básicamente consiste en habilitar el modo "bulk transfer" para dispositivos de baja velocidad

Más cositas: como lejano "padrino" del soporte de Ceres para Linux, no dejo de extrañarme de lo que dices: yo importé sin problemas mi certificado Ceres a la tarjeta desde linux, con las pkcs11_tools del paquete OpenSC

Pero claro, muchos años han llovido desde entonces... Me ha costado Dios y ayuda instalar el nuevo software de Ceres en un fedora 5, y en mis actualizados Fedora 8 no me atrevo ni a intentarlo. Del eDNI mejor no hablamos... empezando por que las bibliotecas libcrypto y libssl con las que está enlazado están cuando menos obsoletas...

Tu y yo sabemos las razones de por qué el software de Ceres no es enteramente libre, también conocemos la estupidez de dichas razones. Puestos a mantener el código semi-cerrado, hubiera sido mejor poner un API decente que permitiera un recompilado de uno o varios ficheros objeto (.o) con el resto, con lo que las distribuciones tendrían la posibildad de recompilar sin más problemas. Pero no. Estupidez, creo que lo llaman

En fin, que si tienes más suerte que yo, todos te agradeceremos que nos comentes el resultado.

PS: me extraña mucho que te hayan colado la versión 1 del LTC31: hace dos años que se dejó de fabricar... ¿dónde lo compraste? (PS: 31 euros en una cadena nacional de nombre británico).

Gegen die Dummheit kämpfen selbst die Götter vergebens - Schiller

anónimo's picture

Muchas gracias Jonsito


Gracias por la información.

Más cositas: como lejano "padrino" del soporte de Ceres para Linux, no dejo de extrañarme de lo que dices: yo importé sin problemas mi certificado Ceres a la tarjeta desde linux, con las pkcs11_tools del paquete OpenSC.

Como comento en mi artículo, no he logrado hacer funcionar el sistema desde Linux, por lo que tuve que utilizar las herramientas que venían con el Kriptokit de la FNMT para Windows. No se si la limitación es de las herramientas o de la tarjeta, pero no dejan importar a la tarjeta certificados mayores de 1024 bits y el mio es de 2048 bits, como cabía esperar.

Mucho me temo que el parche variará con la versión del kernel, con la información que se ha mandado me he hecho una idea de lo que hay que hacer, pero lo que no tengo es mucho tiempo para ello. Mi kernel actual es el 2.6.17 de Mandriva.

De todos modos estoy en ello, por lo que como es mi costunbre, iré comentando los resultados de lo que vaya viendo. Tardaré más o menos, pero espero intentarlo.

PS: me extraña mucho que te hayan colado la versión 1 del LTC31: hace dos años que se dejó de fabricar... ¿dónde lo compraste? (PS: 31 euros en una cadena nacional de nombre británico).

Me lo han dado para poner en marcha la PKI corporativa en el ordenador portátil del trabajo, por lo que no se en que fecha fue adquirido.

Respecto a lo otros que comentas, hubiera dado cualquier cosa por disponer de unas librerías .o adecuadas para compilar y enlazar con cualquier distribución, es una pena que seamos tan tozudos. Si la cosa está complicada por definición, si encima nos echamos piedras, la cosa será peor.

Todo lo anterior viene a confirmar lo que ya dije en su momento, sería conveniente contar con un entorno seguro de firma, que funcione, basado en una Live específica. No debemos olvidar que cada vez que se quiera instalar un PKI nuevo, como uno corporativo o del Colegio de Abogados de Cuenca, por decir algo, habrá que comenzar de nuevo todo el proceso.

Lo dicho, gracias por todo y estaremos en contacto.

Un saludo, Fernando Acero

anónimo's picture

Con openSUSE tampoco funciona


Hace unos días yo intenté instalar el mismo lector en Linux openSUSE 10.3 (kernel 2.6.22.17), y tampoco funciona. Mi lector es también un LTC31 de C3PO, pero versión 2.

Estuve haciendo multitud de pruebas, y el problema no parece del lector. De hecho, el mismo lector me funciona perfectamente con una tarjeta de la ACCV. El problema es con el driver que han desarrollado los del ministerio (y que, cómo no, no es de código abierto, es más antiguo que la pana y no tiene soporte).

Después de perder mucho tiempo, decidí enviar algunos correos. Comencé por enviar uno a C3PO, y me contestaron que enviara mi consulta a la FNMT, y así lo hice. Por supuesto, no recibí ningún tipo de respuesta (ni siquiera un acuse de recibo); después, aunque sin ninguna esperanza, envié el correo a la dirección de asistencia técnica del DNI electrónico. El resultado fue el mismo: ni siquiera dieron acuse de recibo.

Si esa es la forma de potenciar el uso del DNI electróncio que tiene el Ministerio, se podían haber ahorrado la inversión.

anónimo's picture

Yo tuve el mismo problema - Solucionado


El problema es que los de C3PO nunca me contestaron...

Describo la solución en http://soyunfreaky.blogspot.com/2007/02/instalando-el-lector...

Saludos,

Julio.

anónimo's picture

Mis problemas son con el DNI electrónico


Gracias por tu respuesta, pero creo que mi problema es otro. Por lo que cuentas, parece que el parche que has aplicado es para que funcione el lector. A mí el lector sí me funciona. Lo he probado con una tarjeta de la ACCV, y funciona perfectamente. Mi problema es con el DNI electrónico.

¿Tú lo has probado con el DNI electrónico, o con otras tarjetas?

A continuación te detallo exactamente qué he hecho:

He instalado los paquetes requeridos y el paquete opensc-dnie, tal como indica la página del DNI electrónico. Como no proporcionan rpm para opeSUSE, he instalado el de Fedora. La instalación la he hecho sin problemas, pero no funciona.

He configurado Firefox, y no me da problemas durante la instalación, pero al introducir el DNI en el lector se cierra Firefox.

He probado el comando:

opensc-tool -vv --serial

y el resultado es el siguiente:

[opensc-tool] sc.c:196:sc_detect_card_presence: called
[opensc-tool] sc.c:201:sc_detect_card_presence: returning with: 1
Connecting to card in reader C3PO LTC31 (80060614) 00 00...

[opensc-tool] card.c:110:sc_connect_card: called
[opensc-tool] reader-pcsc.c:542:pcsc_connect: After connect protocol = 1
[opensc-tool] reader-pcsc.c:561:pcsc_connect: Requesting reader features ...
[opensc-tool] c3po_card.c:55:card_match_card: called
[opensc-tool] c3po_card.c:64:card_match_card: returning with: 1
[opensc-tool] c3po_card.c:74:card_init: called
[opensc-tool] c3po_card.c:288:card_set_virtual_fs_state: virtual_fs mode activated
[opensc-tool] c3po_card.c:203:card_init: returning with: 0
[opensc-tool] card.c:221:sc_connect_card: card info: dnie, 1, 0x0

[opensc-tool] card.c:222:sc_connect_card: returning with: 0
Using card driver DNIe card driver.
Card serial number:[opensc-tool] c3po_card.c:1034:card_ctl: called
[opensc-tool] c3po_card.c:1038:card_ctl: Calling function card_get_serialnr
[opensc-tool] c3po_card.c:1120:card_get_serialnr: called
[opensc-tool] trusted_channel_card.c:916:card_card_create_secure_channel: Entering function card_card_create_secure_channel
[opensc-tool] reader-pcsc.c:479:pcsc_reconnect: Reconnecting to the card...
[opensc-tool] c3po_card.c:1120:card_get_serialnr: called

[opensc-tool] c3po_card.c:1255:card_transmit_apdu: called
[opensc-tool] c3po_card.c:1172:card_envelope_transmit: called
[opensc-tool] c3po_card.c:1247:card_envelope_transmit: returning with: 0
[opensc-tool] c3po_card.c:1271:card_transmit_apdu: returning with: 0
[opensc-tool] c3po_card.c:1157:card_get_serialnr: returning with: 0
[opensc-tool] trusted_channel_card.c:932:card_card_create_secure_channel: Entering Step H
[opensc-tool] card_helper.c:25:card_helper_read_file: called
[opensc-tool] c3po_card.c:293:card_set_virtual_fs_state: virtual_fs mode deactivated
[opensc-tool] c3po_card.c:821:card_select_file: called

[opensc-tool] c3po_card.c:709:iso_select_file: called
[opensc-tool] c3po_card.c:709:iso_select_file: called
[opensc-tool] c3po_card.c:1255:card_transmit_apdu: called
[opensc-tool] c3po_card.c:1172:card_envelope_transmit: called
[opensc-tool] c3po_card.c:1247:card_envelope_transmit: returning with: 0
[opensc-tool] c3po_card.c:1271:card_transmit_apdu: returning with: 0
[opensc-tool] c3po_card.c:252:card_check_sw: Entering function card_check_sw
[opensc-tool] c3po_card.c:271:card_check_sw: Leaving function card_check_sw
[opensc-tool] c3po_card.c:995:card_process_fci: called

Violación de segmento

Utilizo openSUSE 10.3 (i586) kernel 2.6.22.16-0.1-default. Los paquetes son los de la distribución (excepto opensc-dnie).

anónimo's picture

Para usar el DNI-e hice lo que te conté


Hola,

Soy Julio otra vez. La verdad es que, como puedes ver en el blog, hace un año que hice todo eso. Lo hice para usar el DNI-e, trabajé en un proyecto relacionado y me lo hicieron para poder probar. Por aquel entonces yo ya estaba usando linux y no pensaba instalarme un windows para usarlo. El problema fue exactamente el mismo: LTC31v1 (y no v2). Mandé el mail a C3PO pero nada... Llamé al CAU del DNI-e y me tomaron nota y dijeron que se pondrían en contacto conmigo. Todavía estoy esperando. El caso es que, si no recuerdo mal, mi problema era con el lector. No lo probé con otras tarjetas, sólo con el DNI electrónico. Y al final me funcionó.

Si quieres puede intentar echarte un cable. Si lo que se te cierra es el firefox con una violación de segmento, probablemente el problema esté en los drivers PKCS#11 de la poli que usa firefox para comunicarse con la tarjeta. Revisa los logs del mozilla y de open-sc y en la parte en la que se detalla el stack de la violacion del segmento, comprueba si salen las librerías .SO del DNIe (creo que se llamaban libdni-e.so o algo así, no recuerdo).

Si quieres, puedo intentar ayudarte.

Saludos,

Julio.

lpascual's picture

Gracias, cualquier ayuda es bienvenida


Gracias, cualquier ayuda es bienvenida.

He configurado FireFox añadiendo la librería /usr/lib/opensc-pkcs11.so en el administrador de dispositivos de seguridad.

No sé como obtener el log de FireFox, pero sí he iniciado el demonio pcscd en modo debug, con el siguiente resultado:

pcscd -f -d 2>&1 | tee /tmp/pcscd.log
pcscdaemon.c:295:main() pcscd set to foreground with debug send to stderr
debuglog.c:213:DebugLogSetLevel() debug level=debug
pcscdaemon.c:507:main() pcsc-lite 1.4.3 daemon ready.
hotplug_libusb.c:454:HPAddHotPluggable() Adding USB device: 002:002
readerfactory.c:1115:RFInitializeReader() Attempting startup of C3PO LTC31 (80060614) 00 00 using /usr/lib/readers/ifd-ccid.bundle/Contents/Linux/libccid.so.1.3.0
readerfactory.c:982:RFBindFunctions() Loading IFD Handler 3.0
ifdhandler.c:1239:init_driver() LogLevel: 0x0003
ifdhandler.c:1249:init_driver() DriverOptions: 0x0000
ifdhandler.c:77:IFDHCreateChannelByName() lun: 0, device: usb:0783/0006:libusb:002:002
ccid_usb.c:229:OpenUSBByName() Manufacturer: Ludovic Rousseau (ludovic.rousseau@free.fr)
ccid_usb.c:239:OpenUSBByName() ProductString: Generic CCID driver v1.3.0
ccid_usb.c:245:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version.
ccid_usb.c:393:OpenUSBByName() Found Vendor/Product: 0783/0006 (C3PO LTC31)
ccid_usb.c:395:OpenUSBByName() Using USB bus/device: 002/002
ccid_usb.c:744:get_data_rates() IFD does not support GET_DATA_RATES request: Broken pipe
ifdhandler.c:271:IFDHGetCapabilities() lun: 0, tag: 0xFAE
ifdhandler.c:313:IFDHGetCapabilities() Reader supports 1 slots
En este punto inicio FireFox
winscard_msg_srv.c:217:SHMProcessEventsServer() Common channel packet arrival
winscard_msg_srv.c:226:SHMProcessEventsServer() SHMProcessCommonChannelRequest detects: 6
pcscdaemon.c:174:SVCServiceRunLoop() A new context thread creation is requested: 6
winscard_svc.c:131:ContextThread() Thread is started: 6
winscard_msg_srv.c:288:SHMProcessEventsContext() correctly processed client: 6
winscard_svc.c:179:ContextThread() Client is protocol version 3:0
winscard_msg_srv.c:288:SHMProcessEventsContext() correctly processed client: 6
winscard.c:242:SCardEstablishContext() Establishing Context: 17022782
En este punto introduzco el DNI-e en el lector, y se cierra FireFox inmediatamente
ifdhandler.c:841:IFDHPowerICC() lun: 0, action: PowerUp
eventhandler.c:440:EHStatusHandlerThread() Card inserted into C3PO LTC31 (80060614) 00 00
Card ATR: 3B 7F 38 00 00 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00
winscard_msg_srv.c:288:SHMProcessEventsContext() correctly processed client: 6
winscard.c:298:SCardConnect() Attempting Connect to C3PO LTC31 (80060614) 00 00 using protocol: 3
prothandler.c:130:PHSetProtocol() Attempting PTS to T=0
ifdhandler.c:418:IFDHSetProtocolParameters() lun: 0, protocol T=0
ifdhandler.c:1329:extra_egt() Extra EGT patch applied
winscard.c:433:SCardConnect() Active Protocol: T=0
winscard.c:443:SCardConnect() hCard Identity: 10dac
winscard_msg_srv.c:288:SHMProcessEventsContext() correctly processed client: 6
ifdhandler.c:986:IFDHControl() lun: 0, ControlCode: 0x42000D48
Control TxBuffer:
Control RxBuffer:
winscard_msg_srv.c:288:SHMProcessEventsContext() correctly processed client: 6
winscard.c:1028:SCardBeginTransaction() Status: 0x00000000
winscard_msg_srv.c:288:SHMProcessEventsContext() correctly processed client: 6
winscard_msg_srv.c:288:SHMProcessEventsContext() correctly processed client: 6
winscard.c:517:SCardReconnect() Attempting reconnect to token.
ifdhandler.c:841:IFDHPowerICC() lun: 0, action: PowerDown
ifdhandler.c:841:IFDHPowerICC() lun: 0, action: PowerUp
winscard.c:653:SCardReconnect() Reset complete.
Card ATR: 3B 7F 38 00 00 00 6A 44 4E 49 65 20 02 4C 34 01 13 03 90 00
prothandler.c:130:PHSetProtocol() Attempting PTS to T=0
ifdhandler.c:418:IFDHSetProtocolParameters() lun: 0, protocol T=0
ifdhandler.c:1329:extra_egt() Extra EGT patch applied
winscard_msg_srv.c:288:SHMProcessEventsContext() correctly processed client: 6
winscard.c:1028:SCardBeginTransaction() Status: 0x00000000
winscard_msg_srv.c:288:SHMProcessEventsContext() correctly processed client: 6
winscard.c:1609:SCardTransmit() Send Protocol: T=0
ifdhandler.c:948:IFDHTransmitToICC() lun: 0
winscard_msg_srv.c:288:SHMProcessEventsContext() correctly processed client: 6
winscard.c:1609:SCardTransmit() Send Protocol: T=0
ifdhandler.c:948:IFDHTransmitToICC() lun: 0
winscard_msg_srv.c:288:SHMProcessEventsContext() correctly processed client: 6
winscard.c:1609:SCardTransmit() Send Protocol: T=0
ifdhandler.c:948:IFDHTransmitToICC() lun: 0
winscard_msg_srv.c:276:SHMProcessEventsContext() Client has disappeared: 6
winscard_svc.c:144:ContextThread() Client die: 6
winscard.c:253:SCardReleaseContext() Releasing Context: 17022782
winscard.c:852:SCardDisconnect() Active Contexts: 1
ifdhandler.c:841:IFDHPowerICC() lun: 0, action: Reset
winscard.c:912:SCardDisconnect() Reset complete.

También he hecho pruebas con las clases Java de IAIK para PKCS #11, y nada más intentar inicializar el módulo, se produce un error en la máquina virtual Java, en la librería libopensc-dnie.so.

El lector funciona bien, porque si utilizo una tarjeta de la ACCV (Autoritat de Certificació de la Comunitat Valenciana), me funciona perfectamente, tanto en FireFox como con mis aplicaciones Java + IAIK + BouncyCastle. ¿Alguna idea?

Gracias de nuevo,

Luis