使用机制Python PyKCS11,低级API对数据进行签名

2024-10-05 12:25:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用CKM_SHA256_RSA_PKCS机制签署一些数据。。。我在使用lowlevel-API时遇到了麻烦,因为实际上没有文档,几乎没有示例。我正在尝试做一些与Sign/verify PyKCS11 library几乎相同的事情 我似乎无法使用低级(糟糕的)API正确地转换代码。在

以下是我尝试的一些小片段。在

a = CPKCS11Lib()
info = CK_INFO()
m = PyKCS11.LowLevel.CK_MECHANISM()
signature = ckbytelist()
m.mechanism = PyKCS11.LowLevel.CKM_SHA256_RSA_PKCS
key = PyKCS11.LowLevel.CK_OBJECT_HANDLE()
slotInfo = CK_SLOT_INFO()
lib='/opt/PTK/lib/libcryptoki.so'
session = CK_SESSION_HANDLE()
sessionInfo = CK_SESSION_INFO()
tokenInfo = CK_TOKEN_INFO()
slotList = ckintlist()
objects = ckobjlist()

binaryData = "XYZ"
sha256 = hashlib.sha256()
sha256.update(str(bytearray(binaryData)))
digest = sha256.digest()
binaryData2 = '\x30\x31\x30\x0d\x06\x09\x60\x86\x48\x01\x65\x03\x04\x02\x01\x05\x00\x04\x20' + digest
signMechanism = PyKCS11.Mechanism(PyKCS11.LowLevel.CKM_SHA256_RSA_PKCS, None)
signedData = str(a.C_Sign(CKA_PRIVATE, binaryData2, signMechanism))
print(signedData)

正在为signedData获取此回溯

{cd2}


Tags: infoapilibrsackhandledigestsha256

热门问题