我已使用 PKCS11Interop 生成密钥 API 在 HSM 中生成了 RSA 公私密钥对。
我想导出密钥对。我使用 Findobject API 来获取密钥,该 API 返回一个 ObjectHandle ,在使用 GetAttributeValue API 读取属性时,我无法读取密钥的值。
当我将 CKA_EXTRACTABLE 的密钥属性设置为 true 时,我无法完全生成密钥。
我还需要在 HSM 中导入外部提供的密钥对。
非常感谢任何帮助。
您正在尝试做的事情会被考虑insecure
在 HSM 世界中。它违背了 HSM 的初衷。
但是,能做到吗?是的。前提是 HSM 供应商应该支持它。
HSM 供应商决定 HSM 上生成的密钥是否可以提取,或者由任何软件(HSM 外部)生成的任何密钥是否可以导入到硬件中。 PKCS#11 只是您与 HSM 交互的接口。如果 HSM 不支持某项操作,则会引发异常,该异常最终由 PKCS11 api 引发。
这就是您的提取和导入操作中发生的情况。您尝试在其上执行这些操作的 HSM 可能不支持它。因此,您需要咨询 HSM 供应商如何在他们的产品上执行这些操作。
P.S:Thales nShield 应该/可能有一个配置文件,您可以通过该文件在不安全模式下运行 HSM。
注意:提取一个Key/Key Pair
在 HSM 上生成(或)导入在 HSM 外部生成的任何密钥/密钥对在现实世界中不被视为不安全操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)