问题描述
我正在使用云 HSM 服务,但在尝试创建具有以下属性的 AES 256 密钥时看到 CKA_ATTRIBUTE_INVALID
错误:
CKA_TOKEN=0
CKA_SENSITIVE=0
CKA_PRIVATE=1
CKA_ENCRYPT=1
CKA_DECRYPT=1
CKA_SIGN=1
CKA_VERIFY=1
CKA_WRAP=1
CKA_UNWRAP=1
CKA_DERIVE=1
CKA_EXTRACTABLE=1
CKA_MODIFIABLE=0
因此出现错误:
状态:C_DeriveKey
返回错误。 (CKR_ATTRIBUTE_VALUE_INVALID
)
我发现我是否将 CKA_SENSITIVE
和 CKA_PRIVATE
都作为 1 传递并创建了密钥。
我的问题是如何知道哪些是有效的属性组合?
有人可以指出我的文档吗?
我在标准 PKCS#11
规范指南中没有找到太多细节。
我将不胜感激!
干杯。
解决方法
据我所知,以下属性有错误的值:
CKA_SIGN=1
CKA_VERIFY=1
对称密钥不能用于签名。
这个值还有一些问题:
CKA_TOKEN=0
表示key是session对象,
CKA_SENSITIVE=0
表示密钥值是“可见的” - 它不安全。
根据我的经验:
尝试从模板中一一删除属性,您可以找出其中哪些是错误的。