Я пытаюсь установить соединение с удаленной машиной через этот скрипт. Скрипт запускается на удаленном компьютере, пытаясь открыть сеанс, который, я считаю, я делаю неправильно. Я пытаюсь получить доступ к слоту 0 в библиотеке opt/PTK/lib/libcryptoki.so
, который содержит хранилище ключей через смарт-карту (т. Е. 00000010300000A2
). Однако доступные слоты возвращаются к нулю.Связь с HSM python
ПРАВИЛЬНО 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)))
ВЫВОД
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
возвращает следующий отслеживающий: 'Traceback (самый последний вызов последнего): Файл "Cryptoki.py", строки 18, в информации = pkcs11.getInfo() Файл«/usr/local/lib/python3.5 /site-packages/PyKCS11/__init__.py», строка 475, в GetInfo повышение PyKCS11Error (ПЖ) PyKCS11.PyKCS11Error: CKR_SLOT_ID_INVALID (0x00000003)' @viraptor –
DJ2
Распознает ли этот сценарий любые слоты при запуске непосредственно на удаленной машине? Выполняют ли команды, подобные 'ctstat' /' hsmstate', работать непосредственно на удаленном компьютере (т. Е. Правильно ли установлен ваш HSM)? Они работают удаленно? Примечание. Этот комментарий предполагает продукт SafeNet/Gemalto ProtectProcessing. – vlp