本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 CloudHSM CLI 生成密钥
在生成密钥之前,必须启动 CloudHSM CLI 并以加密用户(CU)身份登录。要生成 HSM 上的密钥,请使用与要生成的密钥的类型对应的命令。
生成对称密钥
使用 key generate-symmetric 中列出的命令生成对称密钥。要查看所有可用的选项,请使用 help key generate-symmetric 命令。
生成 AES 密钥
使用 key generate-symmetric aes 命令生成 AES 密钥。要查看所有可用的选项,请使用 help key generate-symmetric aes 命令。
以下示例生成一个 32 字节的 AES 密钥。
aws-cloudhsm >
key generate-symmetric aes \ --label aes-example \ --key-length-bytes 32
参数
<LABEL>
-
为 AES 密钥指定用户定义的标签。
必需:是
<KEY-LENGTH-BYTES>
-
指定以字节为单位的密钥长度。
有效值:
16、24 和 32
必需:是
<KEY_ATTRIBUTES>
-
指定一个空格分隔的密钥属性列表,以
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
(例如token=true
)的形式为生成的 AES 密钥进行设置有关支持的 AWS CloudHSM 密钥属性的列表,请参阅CloudHSM CLI 的密钥属性。
必需:否
<SESSION>
-
创建仅在当前会话中存在的密钥。会话结束后,密钥无法恢复。如果您只需要一个短暂的密钥,例如用于加密然后快速解密另一个密钥的包装密钥,请使用此参数。对于会话结束后可能需要解密的加密数据,切勿使用会话密钥。
要将会话密钥更改为永久(令牌)密钥,请使用 key set-attribute。
默认情况下,生成密钥时,它们是永久密钥/令牌密钥。使用 <SESSION> 更改此设置,确保使用此参数生成的密钥是会话/临时密钥
必需:否
生成通用机密密钥
使用 key generate-symmetric generic-secret 命令生成通用机密密钥。要查看所有可用的选项,请使用 help key generate-symmetric generic-secret 命令。
以下示例生成一个 32 字节的通用机密密钥。
aws-cloudhsm >
key generate-symmetric generic-secret \ --label generic-secret-example \ --key-length-bytes 32
参数
<LABEL>
-
为通用机密密钥指定用户定义的标签。
必需:是
<KEY-LENGTH-BYTES>
-
指定以字节为单位的密钥长度。
有效值:
1 至 800
必需:是
<KEY_ATTRIBUTES>
-
指定要为生成的通用机密密钥设置的以空格分隔的密钥属性列表,其形式为
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
(例如token=true
)有关支持的 AWS CloudHSM 密钥属性的列表,请参阅CloudHSM CLI 的密钥属性。
必需:否
<SESSION>
-
创建仅在当前会话中存在的密钥。会话结束后,密钥无法恢复。如果您只需要一个短暂的密钥,例如用于加密然后快速解密另一个密钥的包装密钥,请使用此参数。对于会话结束后可能需要解密的加密数据,切勿使用会话密钥。
要将会话密钥更改为永久(令牌)密钥,请使用 key set-attribute。
默认情况下,生成密钥时,它们是永久密钥/令牌密钥。使用 <SESSION> 更改此设置,确保使用此参数生成的密钥是会话/临时密钥
必需:否
生成非对称密钥
使用 钥匙 generate-asymmetric-pair 中列出的命令生成对称密钥对。
生成 RSA 密钥
使用 key generate-asymmetric-pair rsa 命令生成 RSA 密钥对。要查看所有可用的选项,请使用 help key generate-asymmetric-pair rsa 命令。
以下示例生成 RSA 2048 位密钥对。
aws-cloudhsm >
key generate-asymmetric-pair rsa \ --public-exponent 65537 \ --modulus-size-bits 2048 \ --public-label rsa-public-example \ --private-label rsa-private-example
参数
<PUBLIC_LABEL>
-
为公有密钥指定用户定义的标签。
必需:是
<PRIVATE_LABEL>
-
为私有密钥指定用户定义的标签。
必需:是
<MODULUS_SIZE_BITS>
-
指定模数的长度 (以位为单位)。最小值为 2048。
必需:是
<PUBLIC_EXPONENT>
-
指定公有指数。此值必须为大于或等于 65537 的奇数。
必需:是
<PUBLIC_KEY_ATTRIBUTES>
-
指定一个以空格分隔的密钥属性列表,以
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
(例如token=true
)的形式为生成的 RSA 公有密钥进行设置。有关支持的 AWS CloudHSM 密钥属性的列表,请参阅CloudHSM CLI 的密钥属性。
必需:否
<SESSION>
-
创建仅在当前会话中存在的密钥。会话结束后,密钥无法恢复。如果您只需要一个短暂的密钥,例如用于加密然后快速解密另一个密钥的包装密钥,请使用此参数。对于会话结束后可能需要解密的加密数据,切勿使用会话密钥。
要将会话密钥更改为永久(令牌)密钥,请使用 key set-attribute。
默认情况下,生成密钥时,它们是永久密钥/令牌密钥。使用 <SESSION> 更改此设置,确保使用此参数生成的密钥是会话/临时密钥
必需:否
生成 EC (椭圆曲线加密) 密钥对
使用 key generate-asymmetric-pair ec 命令生成 EC 密钥对。要查看所有可用选项(包括受支持的椭圆曲线的列表),请使用 help key generate-asymmetric-pair ec 命令。
以下示例使用 Secp384r1 椭圆曲线生成一个 EC 密钥对。
aws-cloudhsm >
key generate-asymmetric-pair ec \ --curve secp384r1 \ --public-label ec-public-example \ --private-label ec-private-example
参数
<PUBLIC_LABEL>
-
为公有密钥指定用户定义的标签。客户端 SDK 5.11 及更高版本允许的最大大小
label
为 127 个字符。客户端 SDK 5.10 及更低版本的字符数限制为 126 个。必需:是
<PRIVATE_LABEL>
-
为私有密钥指定用户定义的标签。客户端 SDK 5.11 及更高版本允许的最大大小
label
为 127 个字符。客户端 SDK 5.10 及更低版本的字符数限制为 126 个。必需:是
<CURVE>
-
指定椭圆曲线的标识符。
有效值:
prime256v1
secp256r1
secp224r1
secp384r1
secp256k1
secp521r1
必需:是
<PUBLIC_KEY_ATTRIBUTES>
-
以
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
(例如token=true
)的形式指定要为生成的 EC 公有密钥设置的以空格分隔的密钥属性列表。有关支持的 AWS CloudHSM 密钥属性的列表,请参阅CloudHSM CLI 的密钥属性。
必需:否
<PRIVATE_KEY_ATTRIBUTES>
-
以
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
(例如token=true
)的形式指定要为生成的 EC 私有密钥设置的以空格分隔的密钥属性列表。有关支持的 AWS CloudHSM 密钥属性的列表,请参阅CloudHSM CLI 的密钥属性。
必需:否
<SESSION>
-
创建仅在当前会话中存在的密钥。会话结束后,密钥无法恢复。如果您只需要一个短暂的密钥,例如用于加密然后快速解密另一个密钥的包装密钥,请使用此参数。对于会话结束后可能需要解密的加密数据,切勿使用会话密钥。
要将会话密钥更改为永久(令牌)密钥,请使用 key set-attribute。
默认情况下,生成的密钥是永久(令牌)密钥。传入 <SESSION> 会改变这一点,确保使用此参数生成的密钥是会话(临时)密钥。
必需:否