BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Hacer funcionar el lector DNIe LTC31

BocaDePez
BocaDePez

Estoy tratando de hacer funcionar el lector de tarjetas LTC31 de C3PO que tiempo atrás funcionó sin problemas.

Como no consigo hacerlo funcionar con las diversas guías que encuentro y los paquetes proporcionados por la distro y la web de El Cuerpo, me dirijo a la web de la empresa donde antaño hubo una guía oficial y firmwares y sorpresa: la empresa ha cesado y ahora se encuentra un blog de TI.

Si alguien tiene reciente el proceso de instalación para estos dispositivos y me puede confirmar que:

  • Necesito pcsc-ccid para hacer funcionar el cacharro.
  • Las últimas versiones de opensc ya incluye el soporte para DNIe.

He probado varias versiones proporcionadas por El Cuerpo:

  • libpkcs11-dnie-1.3.1_OpenSUSE-42.1-64bits.rpm
  • OpenSUSE_13.2_libpkcs11-dnie-1.4.0-1.x86_64.rpm
  • OpenSuSE_opensc-dnie-2.0.0-2.x86_64.rpm

Y el resultado es el led verde y rojo fijo del lector y tras cargar el módulo no puedo verificar el funcionamiento (el botón Seleccionar Certificado no hace nada).

Estoy sobre OpenSUSE Tumbleweed y estos son los paquetes que me ofrece la distro:

# zypper se opensc pkcs pcsc
Cargando datos del repositorio...
Leyendo los paquetes instalados...

E | Nombre | Resumen | Tipo
--+-----------------------------+----------------------------------------------------------------------------+--------
| engine_pkcs11 | OpenSSL PKCS#11 Engine | paquete
| libopenscap8 | OpenSCAP C Library | paquete
| libopenscap_sce8 | Script Checking Engine Library for OpenSCAP | paquete
i | libpcsclite1 | PCSC Smart Card Library | paquete
| libpcsclite1-32bit | PCSC Smart Card Library | paquete
| libpcscspy0 | PCSC Smart Card Library | paquete
| libpcscspy0-32bit | PCSC Smart Card Library | paquete
i | libpkcs11-helper1 | Helper Library for the Use with Smart Cards and the PKCS#11 API | paquete
| libpkcs11-helper1-32bit | Helper Library for the Use with Smart Cards and the PKCS#11 API | paquete
| libqca2-plugin-pkcs11 | Arquitectura criptográfica 2 de Qt - soporte de pkcs11 | paquete
| libqca2-plugin-pkcs11-32bit | Arquitectura criptográfica 2 de Qt - soporte de pkcs11 | paquete
i | opensc | Smart Card Utilities | paquete
| opensc-32bit | Smart Card Utilities | paquete
| openscap | A Set of Libraries for Integration with SCAP | paquete
| openscap-content | SCAP content | paquete
| openscap-devel | Development Files for OpenSCAP | paquete
| openscap-docker | Docker plugin for OpenSCAP | paquete
| openscap-engine-sce | Script Checking Engine for OpenSCAP | paquete
| openscap-extra-probes | SCAP probes | paquete
| openscap-utils | Openscap utilities | paquete
| pam_pkcs11 | PKCS #11 PAM Module | paquete
| pam_pkcs11-32bit | PKCS #11 PAM Module | paquete
| pcsc-acr38 | PC/SC IFD Handler for the ACR38 Smart Card Reader | paquete
| pcsc-acr38-devel | PC/SC IFD Handler for the ACR38 Smart Card Reader | paquete
| pcsc-acsccid | PCSC Driver for ACS CCID Based Smart Card Readers | paquete
| pcsc-asedriveiiie-serial | ASEDrive IIIe Serial Smartcard Reader Driver | paquete
| pcsc-asedriveiiie-usb | ASEDrive IIIe USB Smart Card Reader Driver | paquete
| pcsc-asekey | ASEKey USB Token Driver | paquete
i | pcsc-ccid | PCSC Driver for CCID Based Smart Card Readers and GemPC Twin Serial Reader | paquete
| pcsc-cyberjack | PC/SC IFD Handler for the Reiner SCT Cyberjack USB-SmartCard Readers | paquete
| pcsc-eco5000 | PC/SC IFD Handler for the ECO 5000 Serial Smart Card Reader | paquete
| pcsc-gempc | PCSC driver for the Gemplus GemPC 410/430 smartcard readers | paquete
i | pcsc-lite | PCSC Smart Cards Library | paquete
| pcsc-lite-devel | Development package for the MUSCLE project SmartCards library | paquete
| pcsc-openct | PC/SC IFD Handler for OpenCT Smart Card Drivers | paquete
| pcsc-reflex60 | PCSC driver for Schlumberger Reflex 60 smartcard readers | paquete
| pcsc-towitoko | PCSC driver for Towitoko Smart Card Readers | paquete
| pcsc-towitoko-devel | PCSC driver for Towitoko Smart Card Readers | paquete
| perl-pcsc | Perl interface to Smart Card Reader | paquete
i | pkcs11-helper | Helper Library for the Use with Smart Cards and the PKCS#11 API | paquete
| pkcs11-helper-devel | Helper Library for the Use with Smart Cards and the PKCS#11 API | paquete
| tpm-tools-pkcs11 | Management tools using PKCS#11 for the TPM hardware | paquete

¿Qué se me escapa?

BocaDePez
BocaDePez

Encontré la antigua guía y no veo mucha más miga.

🗨️ 1
BocaDePez
BocaDePez

¡Boooo!, qué cafre, el demonio no estaba corriendo (service pcscd start). Ya parece que tira sin nacesidad de instalar los paquetes externos. Ahora a ver si puedo verificarlo porque no hay tutía.

🗨️ 12
BocaDePez
BocaDePez

Qué raro que no traiga el servicio en init.d, ¿alguna manera de añadirlo automáticamente con el nuevo systemd o tengo que crear el script?

🗨️ 11
mceds

Hay muchísimos tutoriales para crear servicios extras para systemd, tanto en castellano como en inglés. Realmente, no es un script como los del clásico SysVinit sino un simple archivo de configuración.

El tutorial de RedHat (la distro que creó systemd) incluye ejemplos como éste, bastante autoexplicativos si se sabe inglés:

[Unit]
Description=Emacs: the extensible, self-documenting text editor

[Service]
Type=forking
ExecStart=/usr/bin/emacs --daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=always

[Install]
WantedBy=default.target
🗨️ 10
BocaDePez
BocaDePez

Bien gracias por la información. Sin haberme metido al tema, se supone que el servicio arranca bajo demanda pero no lo hace.

# cat /usr/lib/systemd/system/pcscd.service
[Unit]
Description=PC/SC Smart Card Daemon
Requires=pcscd.socket

[Service]
Environment="PCSCD_OPTIONS="
EnvironmentFile=-/etc/sysconfig/pcscd
ExecStart=/usr/sbin/pcscd --foreground --auto-exit $PCSCD_OPTIONS
ExecReload=/usr/sbin/pcscd --hotplug

[Install]
Also=pcscd.socket

# cat /usr/lib/systemd/system/pcscd.socket
[Unit]
Description=PC/SC Smart Card Daemon Activation Socket

[Socket]
ListenStream=/var/run/pcscd/pcscd.comm

[Install]
WantedBy=sockets.target

🗨️ 9
mceds
🗨️ 8
BocaDePez
BocaDePez
🗨️ 7
mceds
🗨️ 6
BocaDePez
BocaDePez
🗨️ 5
BocaDePez
BocaDePez
🗨️ 4
mceds
🗨️ 3
BocaDePez
BocaDePez
🗨️ 2
vukits
🗨️ 1
BocaDePez
BocaDePez
mceds

Jejeje... "El Cuerpo". Me he imaginado a Raquel Welch vestida de madero...

me dirijo a la web de la empresa donde antaño hubo una guía oficial y firmwares y sorpresa: la empresa ha cesado y ahora se encuentra un blog de TI.

www.archive.org es tu amiga. Por ejemplo, en el "snapshot" de febrero de 2014 de www.c3po.es ya consigo encontrar la antigua empresa y no el blog. Si te acuerdas de dónde estaban esa guía y firmwares, tiempo que ganas.

Eso sí, navegar por Archive.org es un proceso laborioso y requiere paciencia: no todo el contenido está presente en todos los snapshots. Pero yo he llegado a encontrar drivers viejunos de placas base e incluso versiones igualmente caducadas de MAME o xMAME.

(También es recomendable hacerles una donación, ahora que están en proceso de trasladar los servidores a Canadá por motivos políticos)

🗨️ 1
BocaDePez
BocaDePez

Gracias le echo un vistazo, todavía estoy comprobando si funciona correctamente y ya al menos los led del lector se encienden como deben.

BocaDePez
BocaDePez

Listo, verificado en sede.fnmt.gob.es.

Nota:

Habilitar "enable_pinpad = false;" en /etc/opensc.conf y reiniciar el demoño para que solicite la contraseña y evitar el error "Autenticación protegida por token".