本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
CloudHSM CLI 的密钥属性
本主题介绍了如何使用 CloudHSM CLI 来设置密钥属性。CloudHSM CLI 中的密钥属性可以定义密钥的类型、密钥的功能或密钥添加标签的方式。有些属性定义了独特的特征(例如密钥的类型)。其他属性可以设置为 true 或 false,更改它们会激活或停用密钥的部分功能。
有关如何使用密钥属性的示例,请参阅父命令 key 下面列出的命令。
支持的属性
作为最佳实践,仅为应受限的属性设置值。如果您未指定值,CloudHSM CLI 将使用下表中指定的默认值。
下表列出了密钥属性、可能的值、默认值和相关注释。值列中的空单元格表示没有给该属性分配特定的默认值。
CloudHSM CLI 属性 | 值 | 可使用 key set-attribute 进行修改 | 可在创建密钥时进行设置 |
---|---|---|---|
always-sensitive |
如果 |
否 | 否 |
check-value |
密钥的检查值。有关更多信息,请参阅其他详细信息。 | 否 | 否 |
class |
可能的值: |
否 | 是 |
curve |
用于生成 EC 密钥对的椭圆曲线。 有效值: |
否 | 可使用 RSA 进行设置,无法使用 EC 进行设置 |
decrypt |
默认: |
支持 | 是 |
derive |
默认: |
支持 | 是 |
destroyable |
默认: |
支持 | 是 |
ec-point |
对于 EC 密钥,十六进制格式的 ANSI X9.62 ecPoint 值 Q 的 DER 编码。 对于其他密钥类型,此属性不存在。 |
否 | 否 |
encrypt |
默认: |
支持 | 是 |
extractable |
默认: |
否 | 是 |
id |
默认值:空 | 否 | 是 |
key-length-bytes |
生成 AES 密钥所必需的。 有效值: |
否 | 否 |
key-type |
可能的值: |
否 | 是 |
label |
默认值:空 | 支持 | 是 |
local |
默认:对于在 HSM 中生成的密钥为 |
否 | 否 |
modifiable |
默认: |
否 | 否 |
modulus |
用于生成 RSA 密钥对的模数。对于其他密钥类型,此属性不存在。 | 否 | 否 |
modulus-size-bits |
生成 RSA 密钥对所必需的。 最小值为 |
否 | 可使用 RSA 进行设置,无法使用 EC 进行设置 |
never-extractable |
如果从未将“可提取”设置为 如果曾将“可提取”设置为 |
否 | 否 |
private |
默认: |
否 | 是 |
public-exponent |
生成 RSA 密钥对所必需的。 有效值:此值必须为大于或等于 |
否 | 可使用 RSA 进行设置,无法使用 EC 进行设置 |
sensitive |
默认值:
|
否 | 可以用私钥设置,不能用公有密钥设置。 |
sign |
默认值:
|
支持 | 是 |
token |
默认: |
否 | 是 |
trusted |
默认: |
是 | 不支持 |
unwrap |
默认:False |
支持 | 是 |
unwrap-template |
值应使用应用于使用此包装密钥解开包装的任何密钥的属性模板。 | 是 | 不支持 |
verify |
默认值:
|
支持 | 是 |
wrap |
默认:False |
支持 | 是 |
wrap-template |
值应使用属性模板来匹配使用此包装密钥包装的密钥。 | 是 | 不支持 |
wrap-with-trusted |
默认: |
支持 | 是 |
其他详细信息
- 校验值
-
密钥校验值 (KCV) 是 HSM 导入或生成密钥时所产生密钥的 3 字节哈希值或校验和。您也可以在 HSM 之外计算检查值,例如在导出密钥之后。然后,您可对比检查值,以确认密钥的标识和完整性。要获取密钥的校验值,请使用带有 verbose 标记的key list。
AWS CloudHSM 使用以下标准方法生成校验值:
-
对称密钥:密钥加密零块结果的前 3 个字节。
-
非对称密钥对:公钥 SHA-1 哈希值的前 3 个字节。
-
HMAC 密钥:目前不支持 HMAC 密钥 KCV。
-