我有一个Python应用程序,它需要加密数据。对称密钥位于另一个名为HSM的硬件中。
我已经在python中实现了一个包装器。
pip install python-pkcs11并设置用于初始化的pkcs11 11-库的路径。
lib = pkcs11.lib(os.environ['PATH_TO_C-PKCS11_LIB'])但是接下来呢?如何将整个包装器或C库配置为在HSM中查看密钥?
应用程序和HSM是如何沟通的呢?是通过HTTP吗?
感谢你的帮助
发布于 2022-04-04 14:50:55
你的问题很广泛。查看文档中的示例。使用get_key查找HSM中的密钥,encrypt进行加密。
用AES密钥TEST存储在高速移动令牌DEMO中,用零IV加密CBC模式中的零块的示例代码
import os
import pkcs11
lib = pkcs11.lib(os.environ['PKCS11_MODULE'])
token = lib.get_token(token_label='DEMO')
with token.open(user_pin='1234') as session:
key = session.get_key(key_type=pkcs11.mechanisms.KeyType.AES, label='TEST')
iv = bytes.fromhex('00000000000000000000000000000000')
data = bytes.fromhex('00000000000000000000000000000000')
ciphertext = key.encrypt(data=data, mechanism=pkcs11.mechanisms.Mechanism.AES_CBC, mechanism_param=iv)
print(ciphertext.hex())您肯定应该阅读HSM的PKCS#11规范和SDK文档。
祝你的项目好运!
https://stackoverflow.com/questions/71723348
复制相似问题