0

我想将 PKCS11 的 KEY/Data 对象中的键值读入局部变量。我观察到 Key 存储在 Key 对象的 CKA_VALUE 中。哪个是用于将此值传递给我的局部变量的理想函数?

我已经使用了 C_GetAttributeValue 但没有帮助。

请指导我。

谢谢哈沙

4

3 回答 3

0

非对称算法的私钥和对称密钥通常不能从硬件设备中提取出来。这是一种保护措施。这就是为什么你无法获得价值。

存在例外(某些实现允许您添加密钥并将其显式标记为不受保护,在这种情况下可以稍后读取密钥)但这会降低安全性和其他用户利益,因此这不受欢迎。

于 2013-11-14T20:49:00.623 回答
0

在某些实现中,如果您将 CKA.CKA_SENSITIVE 设置为 false,是的,您可以读取该值。

于 2018-09-02T15:09:27.900 回答
0

如果 CKA_EXTRACTABLE 在某个键上设置为 CK_FALSE,则无法使用 PKCS#11 提取该值。

如果 CKA_SENSITIVE 设置为 CK_TRUE,则无法以纯文本形式提取密钥。

然而,

如果 CKA_EXTRACTABLE 是 CK_TRUE,并且 CKA_SENSITIVE 是 CK_FALSE,则可以使用 CKA_VALUE 提取密钥。

如果 CKA_EXTRACTABLE 是 CK_TRUE,并且 CKA_SENSITIVE 是 CK_TRUE,则可以通过使用 C_WrapKey 包装密钥来提取密钥,然后在单元外解开包装的密钥。

于 2020-06-11T15:20:16.623 回答