이 스크립트를 통해 원격 기계와의 연결을 시도하고 있습니다. 세션을 열려고 시도하는 원격 컴퓨터에서 스크립트가 실행되고 있습니다. 세션이 잘못되었다고 생각합니다. opt/PTK/lib/libcryptoki.so
에 스마트 카드 (예 : 00000010300000A2
)를 통해 키 저장소가 포함되어 있지만 사용 가능한 슬롯이 0을 반환하고있는 라이브러리의 슬롯 0에 액세스하려고합니다.HSM 파이썬과 통신하기
올바른 SCRIPT
#!/usr/bin/python
from PyKCS11.LowLevel import *
a = CPKCS11Lib()
info = CK_INFO()
slotInfo = CK_SLOT_INFO()
lib='/opt/PTK/lib/libcryptoki.so'
slotList = ckintlist()
print("Load of " + lib + ": " + str(a.Load(lib, 1)))
a.C_Initialize()
print("C_GetInfo:", hex(a.C_GetInfo(info)))
print("Library manufacturerID:", info.GetManufacturerID())
del info
print("C_GetSlotList(NULL): " + hex(a.C_GetSlotList(0, slotList)))
print("\tAvailable Slots: " + str(len(slotList)))
OUTPUT
ctstat ProtectToolkit C Status Utility 4.3.0 Copyright (c) Safenet, Inc. 2009-2013 ShowAllSlots:4 slots, 4 with tokens Slot ID 0 Description : ProtectServer K5E:00045 Manufacturer : SafeNet Inc. Hardware Version : 65.00 Firmware Version : 3.20 Token for Slot ID 0 Label : CKM Manufacturer : SafeNet Inc. Model : K5E:PL25 Serial Number : 502152:00045 Hardware Version : 65.00 Firmware Version : 3.20
'pkcs11.getInfo() – viraptor
다음과 같은 추적을 반환합니다 :'추적 (가장 최근 호출 마지막) : 파일 "Cryptoki.py", 줄 18, info = pkcs11.getInfo() 파일 "/usr/local/lib/python3.5 /site-packages/PyKCS11/__init__.py "줄 475, getInfo에서 제기 PyKCS11Error (rv) PyKCS11.PyKCS11Error : CKR_SLOT_ID_INVALID (0x00000003)'@viraptor –
DJ2
이 스크립트는 원격 시스템에서 직접 실행될 때 슬롯을 감지합니까? 'ctstat' /'hsmstate'와 같은 명령은 원격 기계에서 직접 실행될 때 (즉, HSM이 올바르게 설치되었는지) 작동합니까? 그들은 원격으로 일합니까? 참고 :이 주석은 SafeNet/Gemalto ProtectProcessing 제품을 전제로합니다. – vlp