Verificar uma assinatura assinada com o mecanismo RSA-PKCS-PSS na CLI do CloudHSM
Use o comando crypto sign rsa-pkcs-pss na CLI do CloudHSM para concluir as operações a seguir.
Confirme se um arquivo foi assinado no HSM por uma determinada chave pública.
Verifique se a assinatura foi gerada usando o mecanismo de assinatura RSA-PKCS-PSS.
Compare um arquivo assinado com um arquivo de origem e determina se os dois estão criptograficamente relacionados com base em uma determinada chave pública RSA e em um mecanismo de assinatura.
Para usar o comando crypto verify rsa-pkcs-pss, primeiro você deve ter uma chave pública RSA em seu cluster do AWS CloudHSM. Você pode importar uma chave pública RSA usando o comando key import pem (ADD UNWRAP LINK HERE) com o atributo verify
definido como true
.
nota
Você pode gerar uma assinatura usando a CLI do CloudHSM com os subcomandos contidos em A categoria de assinatura criptográfica na CLI do CloudHSM.
Tipo de usuário
Os seguintes tipos de usuários podem executar este comando.
-
Usuários de criptografia (CUs)
Requisitos
-
Para executar esse comando, você deve estar registrado como um CU.
Sintaxe
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
Exemplo
Esses exemplos mostram como usar crypto verify rsa-pkcs-pss para verificar uma assinatura que foi gerada usando o mecanismo de assinatura RSA-PKCS-PSS e a função hash SHA256
. Esse comando usa uma chave pública no HSM.
exemplo Exemplo: verificar uma assinatura codificada em Base64 com dados codificados em 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" } }
exemplo Exemplo: verificar um arquivo de assinatura com um arquivo de dados
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" } }
exemplo Exemplo: provar relacionamento de assinatura falso
Esse comando verifica se os dados inválidos foram assinados por uma chave pública com o rótulo rsa-public
usando o mecanismo de assinatura RSAPKCSPSS para produzir a assinatura localizada em /home/signature
. Como os argumentos fornecidos não formam um relacionamento de assinatura verdadeiro, o comando retorna uma mensagem de erro.
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" }
Argumentos
<CLUSTER_ID>
-
O ID do cluster em que essa operação será executada.
Obrigatório: se vários clusters tiverem sido configurados.
<DATA>
-
Dados codificados em Base64 a serem assinados.
Obrigatório: sim (a menos que seja fornecido por meio do caminho de dados)
<DATA_PATH>
-
Especifica o local dos dados a serem assinados.
Obrigatório: sim (a menos que seja fornecido por meio do caminho de dados)
<HASH_FUNCTION>
-
Especifica a função hash.
Valores válidos:
sha1
sha224
sha256
sha384
sha512
Obrigatório: Sim
<KEY_FILTER>
-
Referência de chave (por exemplo,
key-reference=0xabc
) ou lista separada por espaços de atributos de chave na forma deattr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE
selecionar uma chave correspondente.Para obter uma lista dos atributos de chave compatíveis com a CLI do CloudHSM, consulte Atributos de chave da CLI do CloudHSM.
Obrigatório: Sim
<MFG>
-
Especifica a função de geração da máscara.
nota
A função hash da função de geração de máscara deve corresponder à função hash do mecanismo de assinatura.
Valores válidos:
mgf1-sha1
mgf1-sha224
mgf1-sha256
mgf1-sha384
mgf1-sha512
Obrigatório: Sim
<SIGNATURE>
-
Assinatura codificada em Base64.
Obrigatório: sim (a menos que seja fornecido por meio do caminho da assinatura)
<SIGNATURE_PATH>
-
Especifica o local da assinatura.
Obrigatório: sim (a menos que seja fornecido por meio do caminho da assinatura)