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 환경에서 원격 연결 토큰을 찾아 사용할 수 있다는 점도 주목할 가치가 있습니다.

여기서 어디로 가야할지 정말 모르겠습니다. 어떤 도움이라도 대단히 감사하겠습니다.

관련 정보