我想从PKCS11的KEY / Data对象中读取Key值到局部变量中。 我观察到Key存储在Key对象的CKA_VALUE中。 哪个是用于将此值传递给我的局部变量的理想函数?
我使用了C_GetAttributeValue但没有用。
请指导我。
由于 戒日
答案 0 :(得分:0)
通常无法从硬件设备中提取非对称算法和对称密钥的私钥。这是一种保护措施。这就是为什么你无法获得价值的原因。
存在异常(某些实现允许您添加密钥并明确将其标记为未受保护,在这种情况下可以在以后读取密钥)但这会降低安全性和其他用户权益,因此这不受欢迎。
答案 1 :(得分:0)
在某些实现中,如果将CKA.CKA_SENSITIVE设置为false,则可以读取该值。
答案 2 :(得分: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封装密钥,然后将封装的密钥解包到设备外部。