加密验证 rsa-pkcs-pss - AWS CloudHSM

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

加密验证 rsa-pkcs-pss

crypto sign rsa-pkcs-pss命令用于完成以下操作。

  • 确认文件已通过给定的公钥在 HSM 中签名。

  • 验证签名是使用 RSA-PKCS-PSS 签名机制生成的。

  • 将签名文件与源文件进行比较,并根据给定的 rsa 公钥和签名机制确定两者在密码学上是否相关。

要使用该crypto verify rsa-pkcs-pss命令,您的 AWS CloudHSM 集群中必须首先有一个 RSA 公钥。您可以使用 key import pem 命令(在此处添加 UNWRAP LINK)导入 RSA 公钥,verify属性设置为。true

注意

您可以使用 CloudHSM CLI 加密标志 和子命令生成签名。

用户类型

以下类型的用户均可运行此命令。

  • 加密用户(CU)

要求

  • 要运行此命令,必须以 CU 身份登录。

语法

aws-cloudhsm > help crypto verify rsa-pkcs-pss Verify with the RSA-PKCS-PSS mechanism Usage: crypto verify rsa-pkcs-pss --key-filter [<KEY_FILTER>...] --hash-function <HASH_FUNCTION> --mgf <MGF> --salt-length >SALT_LENGTH< <--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 --hash-function <HASH_FUNCTION> [possible values: sha1, sha224, sha256, sha384, sha512] --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 --mgf <MGF> The mask generation function [possible values: mgf1-sha1, mgf1-sha224, mgf1-sha256, mgf1-sha384, mgf1-sha512] --salt-length <SALT_LENGTH> The salt length -h, --help Print help

示例

这些示例说明如何使用crypto verify rsa-pkcs-pss来验证使用 RSA-PKCS-PSS 签名机制和哈希函数生成的签名。SHA256此命令在 HSM 中使用公钥。

例 示例:使用 Base64 编码的数据验证采用 Base64 编码的签名
aws-cloudhsm > crypto verify rsa-pkcs-pss --key-filter attr.label=rsa-public --hash-function sha256 --data YWJjMTIz --salt-length 10 --mgf mgf1-sha256 --signature H/z1rYVMzNAa31K4amE5MTiwGxDdCTgQXCJXRBKVOVm7ZuyI0fGE4sT/BUN+977mQEV2TqtWpTsiF2IpwGM1VfSBRt7h/g4o6YERm1tTQLl7q+AJ7uGGK37zCsWQrAo7Vy8NzPShxekePo/ZegrB1aHWN1fE8H3IPUKqLuMDI9o1Jq6kM986ExS7YmeOIclcZkyykTWqHLQVL2C3+A2bHJZBqRcM5XoIpk8HkPypjpN+m4FNUds30GAemoOMl6asSrEJSthaZWV53OBsDOqzA8Rt8JdhXS+GZp3vNLdL1OTBELDPweXVgAu4dBX0FOvpw/gg6sNvuaDK4YOBv2fqKg== { "error_code": 0, "data": { "message": "Signature verified successfully" } }
例 示例:使用数据文件验证签名文件
aws-cloudhsm > crypto verify rsa-pkcs-pss --key-filter attr.label=rsa-public --hash-function sha256 --data-path data.txt --salt-length 10 --mgf mgf1-sha256 --signature signature-file { "error_code": 0, "data": { "message": "Signature verified successfully" } }
例 示例:证明虚假的签名关系

此命令验证无效数据是否由带有标签的公钥签名,rsa-public使用 RSAPKCSPSS 签名机制生成位于中的签名。/home/signature由于给定的参数不构成真正的签名关系,因此该命令会返回错误消息。

aws-cloudhsm > crypto verify rsa-pkcs-pss --key-filter attr.label=rsa-public --hash-function sha256 --data aW52YWxpZA== --salt-length 10 --mgf mgf1-sha256 --signature H/z1rYVMzNAa31K4amE5MTiwGxDdCTgQXCJXRBKVOVm7ZuyI0fGE4sT/BUN+977mQEV2TqtWpTsiF2IpwGM1VfSBRt7h/g4o6YERm1tTQLl7q+AJ7uGGK37zCsWQrAo7Vy8NzPShxekePo/ZegrB1aHWN1fE8H3IPUKqLuMDI9o1Jq6kM986ExS7YmeOIclcZkyykTWqHLQVL2C3+A2bHJZBqRcM5XoIpk8HkPypjpN+m4FNUds30GAemoOMl6asSrEJSthaZWV53OBsDOqzA8Rt8JdhXS+GZp3vNLdL1OTBELDPweXVgAu4dBX0FOvpw/gg6sNvuaDK4YOBv2fqKg== { "error_code": 1, "data": "Signature verification failed" }

参数

<CLUSTER_ID>

要运行此操作的集群的 ID。

必需:如果已配置多个集群。

<DATA>

要签名的 Base64 编码数据。

必填项:是(除非通过数据路径提供)

<DATA_PATH>

指定要签名的数据的位置。

必填项:是(除非通过数据路径提供)

<HASH_FUNCTION>

指定哈希函数。

有效值:

  • sha1

  • sha224

  • sha256

  • sha384

  • sha512

必需:是

<KEY_FILTER>

按键引用(例如key-reference=0xabc)或以空格分隔的按键属性列表,attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE以选择匹配的密钥。

有关支持的 CloudHSM CLI 密钥属性的列表,请参阅 CloudHSM CLI 的关键属性。

必需:是

<MFG>

指定蒙版生成函数。

注意

掩码生成函数哈希函数必须与签名机制哈希函数相匹配。

有效值:

  • mgf1-sha1

  • mgf1-sha224

  • mgf1-sha256

  • mgf1-sha384

  • mgf1-sha512

必需:是

<SIGNATURE>

以 Base64 编码的签名。

必填项:是(除非通过签名路径提供)

<SIGNATURE_PATH>

指定签名的位置。

必填项:是(除非通过签名路径提供)

相关 主题