
Tengo un eToken SafeNet 5100 que uso para firmar código y generar hashes. Este token se movió recientemente a un servidor virtualhere para permitir el uso USBIP del token. Esto funciona muy bien en Windows, pero no cuando se utiliza un entorno Ubuntu en contenedores.
Inicio el entorno en privileged
modo, luego entro en una sesión interactiva y docker exec -it my-container bash
luego uso el cliente virtual aquí para buscar y conectar mi clave de seguridad remota. Puedo ver la clave conectada usandolsusb
root@6e344d5cdc42:/# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux 5.15.146.1-microsoft-standard-WSL2 vhci_hcd USB/IP Virtual Host Controller
Bus 001 Device 008: ID 0529:0620 SafeNet Token JC
Bus 001 Device 001: ID 1d6b:0002 Linux 5.15.146.1-microsoft-standard-WSL2 vhci_hcd USB/IP Virtual Host Controller
Según tengo entendido, los fabricantes del token distribuyen pkcs11
implementaciones que he descargado e instalado desde aquí.https://www.globalsign.com/en/safenet-drivers/USB/10.8/GlobalSign-SAC-Ubuntu-2204.zip
A continuación intento acceder a mi token usando mi script de prueba de Python:
if __name__ == "__main__":
import sys
import os
print("Testing PKCS11 install ...")
print("searching for pkcs11 lib under variable PKCS11")
lib = os.environ.get("PKCS11")
print(f"Found: {lib}")
if not os.path.exists(lib):
print("L + bozo")
print("Your lib cannot be found double check your path")
sys.exit(1)
pkcs11 = PyKCS11.PyKCS11Lib()
pkcs11.load(lib)
info = pkcs11.getInfo()
print("_" * 80)
print("MANUFACTURER ID:", info.manufacturerID)
print(info)
print("_" * 80)
slots = pkcs11.getSlotList()
for slot in slots:
print(f"Found [{slot}]")
print(pkcs11.getTokenInfo(slot))
Este script no puede encontrar mi USB, también lo intenté opensc-tools
y pykcs11-tools
accedí a mi USB. Ninguno de los dos ha reconocido un token de seguridad conectado.
También vale la pena señalar que este mismo script de Python puede encontrar y usar mi token conectado de forma remota en un entorno de Windows.
Realmente no sé adónde ir desde aquí. Cualquier ayuda sería apreciada.