本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 CloudHSM CLI 中验证使用 PureEd DSA 机制签名的签名
重要
PureEd仅非 FIPS 模式下的 hsm2m.medium 实例支持 DSA 签名验证操作。
使用 CloudHSM CLI 中的 crypto verify ed25519 命令完成以下操作:
使用给定的 Ed25519 公钥验证数据或文件的签名。
确认签名是使用 PureEd DSA 签名机制 (Ed25519) 生成的。
注意
PureEdDSA 的最大消息大小为 16,000 字节。对于较大的消息,请使用在 CloudHSM CLI 中验证使用 HashEd DSA 机制签名的签名。
要使用该crypto verify ed25519命令,必须首先在集群中拥有 Ed25519 公钥。 AWS CloudHSM 您可以使用curve参数设置为、属性设置为的使用 CloudHSM CLI 生成非对称 EC 密钥对命令生成 Ed25519 密钥对true,也可以使用verify属性设置为的使用 CloudHSM CLI 导入 PEM 格式密钥命令导入 Ed25519 公钥。ed25519 verify true
注意
您可以使用 CloudHSM CLI 中的 crypto sign 类别 子命令在 CloudHSM CLI 中生成签名。
用户类型
以下类型的用户均可运行此命令。
-
加密用户(CU)
要求
-
要运行此命令,必须以 CU 身份登录。
-
PureEd仅非 FIPS 模式下的 hsm2m.medium 实例支持 DSA 签名验证操作。
-
消息数据不得大于 16,000 字节。
语法
aws-cloudhsm >help crypto verify ed25519Verify with the Ed25519 mechanism Usage: crypto verify ed25519 [OPTIONS] --key-filter [<KEY_FILTER>...] <--data-path<DATA_PATH>|--data<DATA>> <--signature-path<SIGNATURE_PATH>|--signature<SIGNATURE>> 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 --key-filter [<KEY_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 matching key --data-path<DATA_PATH>The path to the file containing the data to be verified --data<DATA>Base64 encoded data to be verified --signature-path<SIGNATURE_PATH>The path to where the signature is located --signature<SIGNATURE>Base64 encoded signature to be verified -h, --help Print help
示例
这些示例说明crypto verify ed25519如何使用验证使用 PureEd DSA 签名机制生成的签名。此命令在 HSM 中使用 Ed25519 公钥。
例示例:使用 Base64 编码的数据验证 Base64 编码的签名
aws-cloudhsm >crypto verify ed25519 \ --key-filter attr.label=ed25519-public \ --data YWJj \ --signature NjWz797ntYSLFwg7nKYYdn+On3cCMj4zKz059wadVVlBHxyxe4JrSZxgekwb9AYR5xFxuVE9dTnDSo+gCaW/CQ=={ "error_code": 0, "data": { "message": "Signature verified successfully" } }
例示例:使用数据文件验证签名文件
aws-cloudhsm >crypto verify ed25519 \ --key-filter attr.label=ed25519-public \ --data-path data.txt \ --signature-path signature-file{ "error_code": 0, "data": { "message": "Signature verified successfully" } }
例示例:证明虚假的签名关系
此示例显示,当数据、签名或密钥不匹配时,验证会失败。
aws-cloudhsm >crypto verify ed25519 \ --key-filter attr.label=ed25519-public \ --data bWVzc2FnZQ== \ --signature NjWz797ntYSLFwg7nKYYdn+On3cCMj4zKz059wadVVlBHxyxe4JrSZxgekwb9AYR5xFxuVE9dTnDSo+gCaW/CQ=={ "error_code": 1, "data": "Signature verification failed" }
参数
<CLUSTER_ID>-
要运行此操作的集群的 ID。
必需:如果已配置多个集群。
<DATA>-
Base64 编码的数据有待验证。解码后的数据不得大于 16,000 字节。
必需:是(除非通过数据路径提供)
<DATA_PATH>-
指定要验证的数据的位置。文件内容不得大于 16,000 字节。
必填项:是(除非通过数据参数提供)
<KEY_FILTER>-
密钥引用(例如
key-reference=0xabc)或空格分隔的密钥属性列表,采用attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE形式,可选择匹配密钥。有关支持的 CloudHSM CLI 密钥属性的列表,请参阅。CloudHSM CLI 的密钥属性
是否必需:是
<SIGNATURE>-
Base64 编码的签名。
必需:是(除非通过签名路径提供)
<SIGNATURE_PATH>-
指定签名的位置。
必填项:是(除非通过签名参数提供)