我正試圖通過此腳本與遠程計算機建立連接。該腳本正在遠程計算機上運行,試圖打開一個會話,我相信我做錯了。我試圖通過智能卡(00000010300000A2
)訪問庫opt/PTK/lib/libcryptoki.so
中的插槽0,其中包含一個密鑰存儲區。但可用插槽返回零。與HSM通訊python
正確的腳本
#!/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)))
輸出
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中 raise PyKCS11Error(rv) PyKCS11.PyKCS11Error:CKR_SLOT_ID_INVALID(0x00000003)'@viraptor –
DJ2
此腳本在遠程機器上直接運行時是否檢測到任何插槽?當直接在遠程機器上運行時(例如,您的HSM是否正確安裝),像'ctstat' /'hsmstate'這樣的命令是否工作?他們是否遠程工作?注意:此評論假設SafeNet/Gemalto ProtectProcessing產品。 – vlp