如何通过 PKCS#11 与 HSM 通信
How to communicate via PKCS#11 with a HSM
我有一个 Python 应用程序需要加密数据。对称密钥位于称为 HSM 的单独硬件中。
我已经在 python
中实现了一个包装器
pip install python-pkcs11
并设置c-pkcs11-library的路径进行初始化。
lib = pkcs11.lib(os.environ['PATH_TO_C-PKCS11_LIB'])
但是接下来呢?如何配置整个包装器或 C 库以在 HSM 中监视密钥?
应用程序和 HSM 如何通信?是通过 HTTP 吗?
感谢任何帮助
你的问题很宽泛。看看examples in the documentation. Use get_key
to lookup key in HSM and encrypt
加密。
使用存储在 HSM 令牌 DEMO
中的 AES 密钥 TEST
使用零 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 specification 和 SDK 文档。
祝你项目顺利!
我有一个 Python 应用程序需要加密数据。对称密钥位于称为 HSM 的单独硬件中。
我已经在 python
中实现了一个包装器pip install python-pkcs11
并设置c-pkcs11-library的路径进行初始化。
lib = pkcs11.lib(os.environ['PATH_TO_C-PKCS11_LIB'])
但是接下来呢?如何配置整个包装器或 C 库以在 HSM 中监视密钥?
应用程序和 HSM 如何通信?是通过 HTTP 吗?
感谢任何帮助
你的问题很宽泛。看看examples in the documentation. Use get_key
to lookup key in HSM and encrypt
加密。
使用存储在 HSM 令牌 DEMO
中的 AES 密钥 TEST
使用零 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 specification 和 SDK 文档。
祝你项目顺利!