Docker 컨테이너에서 보안 토큰 사용

Docker 컨테이너에서 보안 토큰 사용

코드에 서명하고 해시를 생성하는 데 사용하는 SafeNet 5100 eToken이 있습니다. 이 토큰은 최근 토큰의 USBIP 사용을 활성화하기 위해 virtualhere 서버로 이동되었습니다. 이는 Windows에서는 훌륭하게 작동하지만 컨테이너화된 우분투 환경을 사용할 때는 그렇지 않습니다.

모드 에서 환경을 시작한 privileged다음 대화형 세션에 들어간 docker exec -it my-container bash다음 가상 여기 클라이언트를 사용하여 원격 보안 키를 찾아 연결합니다. 다음을 사용하여 연결된 키를 볼 수 있습니다.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를 찾을 수 없습니다. USB에 액세스하려고 opensc-tools시도 했습니다 . pykcs11-tools둘 다 연결된 보안 토큰을 인식하지 못했습니다.

동일한 Python 스크립트가 Windows 환경에서 원격으로 연결된 토큰을 찾아 사용할 수 있다는 점도 주목할 가치가 있습니다.

여기서 어디로 가야할지 잘 모르겠습니다. 어떤 도움이라도 주시면 감사하겠습니다.

관련 정보