Linux: ¿cómo puedo mostrar e importar los certificados entregados por el lector de tarjetas inteligentes?


1

Yo uso Linux Mint Debian Edition.

Tengo el lector de tarjetas inteligentes OmniKey AG CardMan conectado a la computadora a través de USB.

  1. Primero instalé PCSC Lite / PCSC-Tools

    sudo apt-get install pcscd pcsc-tools

    1. Luego instalé el controlador (se instala ifdokccid.so) descargado de https://www.hidglobal.com/driver

    2. Ejecuté:

sudo service pcscd start para comenzar el servicio.

lo que hizo que el LED del lector de tarjetas inteligentes parpadeara.

  1. Entonces, cuando escribo: pcsc_scan

Proporciona

PC/SC device scanner V 1.4.27 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr> Compiled with PC/SC lite version: 1.8.17 Using reader plug'n play mechanism Scanning present readers... y

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):


Pregunta

¿Cómo puedo verificar que el lector de tarjetas inteligentes funciona correctamente? ¿Existe alguna posibilidad de mostrar más información y / o importar certificados almacenados en la tarjeta inteligente e insertados en el lector de tarjetas inteligentes mencionado? ¿Hay alguna GUI para administrar mis certificados?

Respuestas:


1

Asegúrese de tener un controlador para el lector de tarjetas (IFD), de modo que pcscd sepa cómo hablar con él. De lo contrario, podría no ir más allá de hacer que el lector parpadee.

La mayoría de los lectores USB están basados ​​en CCID estándar y funcionarán con el ifd-ccid estándar , pero HID OmniKey no siempre es compatible y a menudo necesitará su propio controlador omnikey_ifdokccid .

Intente ejecutar pcsc_scanpara verificar si pcscd puede comunicarse con el lector y la tarjeta (algunos lectores solo aceptan tarjetas EMV por razones extrañas).


También necesita un controlador para la tarjeta inteligente en sí. Por lo general, viene en forma de un módulo PKCS # 11, como libccpkip11.so para CryptoTech o opensc-pkcs11.so para el controlador genérico basado en OpenSC, y es necesario porque algunas tarjetas inteligentes tienen una estructura interna diferente para almacenar los datos. Este módulo es lo que realmente le habla a la tarjeta también a través de pcscd; los programas no usan pcscd directamente.

Linux no tiene un almacén de certificados global; cada programa debe soportar la carga de certificados desde un módulo PKCS # 11 como debe soportar cargarlos desde un archivo. Afortunadamente eso se está volviendo algo automatizado; muchos programas aceptarán pkcs11: URL directamente en lugar de nombres de archivo simples; pero no es completamente universal y, a veces, deberá especificar el módulo / ranura / id / serie por separado.


Hay algunas herramientas para trabajar con tokens PKCS # 11. Desde la línea de comandos, p11tooly pkcs11-toolson las herramientas principales; el último requiere que se especifique el módulo PKCS # 11, el primero intenta cargar todos los módulos instalados. Comience por verificar si el módulo reconoce un token como presente, luego pídale que enumere los objetos en el token:

$ pkcs11-tool --module libeTPkcs11.so --list-slots
$ pkcs11-tool --module libeTPKcs11.so --list-objects
$ pkcs11-tool --module libeTPKcs11.so --login --list-objects

$ p11tool --list-tokens
$ p11tool "pkcs11:model=eToken" --login --list-certs

Para ver el contenido del token gráficamente, sus principales opciones son:

  • Utilice KeyStore Explorer ; Tiene Archivo → Abrir Especial → Abrir PKCS # 11 .

  • Cargue el módulo PKCS # 11 en Mozilla Firefox a través de Configuración → Dispositivos de seguridad , luego use el navegador de certificados de Firefox. (Mostrará una lista combinada de certificados locales y de token).


Gracias por la explicación detallada. Con respecto a su primera parte de la respuesta, como mencioné, obtuve el controlador de HID Global (contiene ifdokccid.so). Sin embargo, mientras buscaba problemas, descubrí que, en lugar de intentar compilar PCSC Lite a partir de las fuentes, debería intentar instalarlo apt-get. Por lo tanto, edité mi pregunta. Como mencioné en mi pregunta editada, ahora pcsc_scanme da información sobre una posible tarjeta identificada ... Sin embargo, todavía no estoy seguro de cómo usarla. Sus comandos, en la segunda parte de las respuestas me da un mensaje de error:error: Failed to load pkcs11 module
enviado el

¿Qué módulo PKCS # 11 está utilizando para su tarjeta inteligente?
Grawity

¿Cómo puedo verificarlo? ¿Está preguntando sobre la información reportada por el pcsc_scan? Es la tarjeta inteligente Gemalto .NET.
matandked

Bueno, um, estás especificando el nombre del módulo en los comandos de la herramienta pkcs11 ... (Para Gemalto .NET sería libgtop11dotnet.so)
Grawity

Bien, ¿cómo puedo encontrar esa información For Gemalto .NET it'd be libgtop11dotnet.so.? ¿Cómo puedo encontrar el nombre del paquete que debería instalarse (para tener libgtop11dotnet.so)?
matandked
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.