Использование токена безопасности в контейнере Docker

Использование токена безопасности в контейнере Docker

У меня есть SafeNet 5100 eToken, который я использую для подписи кода и генерации хэшей. Этот токен был недавно перемещен на сервер virtualhere, чтобы разрешить использование токена USBIP. Это отлично работает в Windows, но не при использовании контейнерной среды Ubuntu.

Я запускаю среду в privilegedрежиме, затем вхожу в интерактивный сеанс с помощью, docker exec -it my-container bashзатем я использую виртуальный клиент here, чтобы найти и подключить мой удаленный ключ безопасности. Я могу видеть ключ, подключенный с помощьюlsusb

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

Насколько я понимаю, производители токена распространяют pkcs11реализации, которые я скачал и установил отсюдаhttps://www.globalsign.com/en/safenet-drivers/USB/10.8/GlobalSign-SAC-Ubuntu-2204.zip

Далее я пытаюсь получить доступ к своему токену, используя тестовый скрипт на 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))

Этот скрипт не может найти мой USB, я также пробовал opensc-toolsи pykcs11-toolsполучить доступ к моему USB. Ни один из них не распознал подключенный токен безопасности.

Стоит также отметить, что этот же скрипт Python способен находить и использовать мой удаленно подключенный токен в среде Windows.

Я не знаю, куда идти дальше. Любая помощь будет оценена по достоинству.

Связанный контент