本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
OAEP使用 RSA-使用 Cloud 解开密钥 HSM CLI
使用 Cloud HSM CLI 中的key unwrap rsa-oaep命令使用RSA私钥和解包机制RSA-OAEP
解开有效载荷密钥。
未封装的密钥的使用方式与生成的 AWS CloudHSM密钥相同。为了表示它们不是在本地生成的,它们的local
属性设置为false
。
要使用该key unwrap rsa-oaep命令,您的 AWS CloudHSM 集群中必须有RSA公用包装密钥的RSA私钥,并且其unwrap
属性必须设置为true
。
用户类型
以下类型的用户均可运行此命令。
-
加密用户 (CUs)
要求
-
要运行此命令,必须以 CU 身份登录。
语法
aws-cloudhsm >
help key unwrap rsa-oaep
Usage: key unwrap rsa-oaep [OPTIONS] --filter [
<FILTER>
...] --hash-function<HASH_FUNCTION>
--mgf<MGF>
--key-type-class<KEY_TYPE_CLASS>
--label<LABEL>
<--data-path<DATA_PATH>
|--data<DATA>
> Options: --cluster-id<CLUSTER_ID>
Unique Id to choose which of the clusters in the config file to run the operation against. If not provided, will fall back to the value provided when interactive mode was started, or error --filter [<FILTER>
...] Key reference (e.g. key-reference=0xabc) or space separated list of key attributes in the form of attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE to select a key to unwrap with --data-path<DATA_PATH>
Path to the binary file containing the wrapped key data --data<<DATA>
Base64 encoded wrapped key data --attributes [<UNWRAPPED_KEY_ATTRIBUTES>
...] Space separated list of key attributes in the form of KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE for the unwrapped key --hash-function<HASH_FUNCTION>
Hash algorithm [possible values: sha1, sha224, sha256, sha384, sha512] --mgf<MGF>
Mask Generation Function algorithm [possible values: mgf1-sha1, mgf1-sha224, mgf1-sha256, mgf1-sha384, mgf1-sha512] --key-type-class<KEY_TYPE_CLASS>
Key type and class of wrapped key [possible values: aes, des3, ec-private, generic-secret, rsa-private] --label<LABEL>
Label for the unwrapped key --session Creates a session key that exists only in the current session. The key cannot be recovered after the session ends -h, --help Print help
示例
这些示例说明如何使用RSA私钥使用该key unwrap rsa-oaep命令,并将unwrap
属性值设置为true
。
例 示例:从 Base64 编码的封装密钥数据中解开有效载荷密钥
aws-cloudhsm >
key unwrap rsa-oaep --key-type-class aes --label aes-unwrapped --filter attr.label=rsa-private-example-key --hash-function sha256 --mgf mgf1-sha256 --data OjJe4msobPLz9TuSAdULEu17T5rMDWtSlLyBSkLbaZnYzzpdrhsbGLbwZJCtB/jGkDNdB4qyTAOQwEpggGf6v+Yx6JcesNeKKNU8XZal/YBoHC8noTGUSDI2qr+u2tDc84NPv6d+F2KOONXsSxMhmxzzNG/gzTVIJhOuy/B1yHjGP4mOXoDZf5+7f5M1CjxBmz4Vva/wrWHGCSG0yOaWblEvOiHAIt3UBdyKmU+/My4xjfJv7WGGu3DFUUIZ06TihRtKQhUYU1M9u6NPf9riJJfHsk6QCuSZ9yWThDT9as6i7e3htnyDhIhGWaoK8JU855cN/YNKAUqkNpC4FPL3iw==
{ "data": { "key": { "key-reference": "0x00000000001808e9", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "aes-unwrapped", "id": "0x", "check-value": "0x8d9099", "class": "secret-key", "encrypt": false, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": false, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": false, "verify": true, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 16 } } } }
例 示例:解开通过数据路径提供的有效载荷密钥
aws-cloudhsm >
key unwrap rsa-oaep --key-type-class aes --label aes-unwrapped --filter attr.label=rsa-private-example-key --hash-function sha256 --mgf mgf1-sha256 --data-path payload-key.pem
{ "error_code": 0, "data": { "key": { "key-reference": "0x00000000001808e9", "key-info": { "key-owners": [ { "username": "cu1", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "aes-unwrapped", "id": "0x", "check-value": "0x8d9099", "class": "secret-key", "encrypt": false, "decrypt": false, "token": true, "always-sensitive": false, "derive": false, "destroyable": true, "extractable": true, "local": false, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": true, "trusted": false, "unwrap": false, "verify": true, "wrap": false, "wrap-with-trusted": false, "key-length-bytes": 16 } } } }
参数
<CLUSTER_ID>
-
要运行此操作的集群的 ID。
必需:如果已配置多个集群。
<FILTER>
-
按键引用(例如
key-reference=0xabc
)或以空格分隔的按键属性列表,形式attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
为,用于选择要展开的按键。必需:是
<DATA_PATH>
-
包含封装密钥数据的二进制文件的路径。
必填项:是(除非通过 Base64 编码的数据提供)
<DATA>
-
Base64 编码的封装密钥数据。
必填项:是(除非通过数据路径提供)
<ATTRIBUTES>
-
以空格分隔的密钥属性列表,形式
KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
为封装后的密钥。必需:否
<KEY_TYPE_CLASS>
-
封装密钥的密钥类型和类别 [可能的值:
aes
des3
、ec-private
、generic-secret
、、rsa-private
]。必需:是
<HASH_FUNCTION>
-
指定哈希函数。
有效值:
sha1
sha224
sha256
sha384
sha512
必需:是
<MGF>
-
指定蒙版生成函数。
注意
掩码生成函数哈希函数必须与签名机制哈希函数相匹配。
有效值:
mgf1-sha1
mgf1-sha224
mgf1-sha256
mgf1-sha384
mgf1-sha512
必需:是
<LABEL>
-
未包装的密钥的标签。
必需:是
<SESSION>
-
创建仅存在于当前会话中的会话密钥。会话结束后,密钥无法恢复。
必需:否