Verificar a assinatura de um arquivo usando o KMU do AWS CloudHSM
Use o comando verify no key_mgmt_util do AWS CloudHSM para confirmar se um arquivo foi assinado ou não por uma determinada chave. Para fazer isso, o comando verify compara um arquivo assinado com um arquivo de origem e analisa se eles estão criptograficamente relacionados com base em uma determinada chave pública e no mecanismo de assinatura. Os arquivos podem ser assinados no AWS CloudHSM com a operação sign.
Os mecanismos de assinatura são representados pelos inteiros listados na seção de parâmetros.
Antes de executar um comando key_mgmt_util, você deve iniciar key_mgmt_util e fazer login no HSM como um usuário de criptografia (CU).
Sintaxe
verify -h verify -f
<message-file>
-s<signature-file>
-k<public-key-handle>
-m<signature-mechanism>
Exemplo
Esses exemplos mostram como usar verify para verificar se uma determinada chave pública foi usada para assinar um determinado arquivo.
exemplo : Verificar a assinatura de um arquivo
Esse comando tenta verificar se um arquivo chamado hardwarCert.crt
foi assinado pela chave pública 262276
usando o mecanismo de assinatura SHA256_RSA_PKCS
para produzir o arquivo assinado hardwareCertSigned
. Como os parâmetros fornecidos representam um relacionamento de assinatura verdadeiro, o comando retorna uma mensagem de êxito.
Command:
verify -f hardwareCert.crt -s hardwareCertSigned -k 262276 -m 1
Signature verification successful Cfm3Verify returned: 0x00 : HSM Return: SUCCESS
exemplo : provar relacionamento de assinatura falso
Esse comando verifica se um arquivo chamado hardwareCert.crt
foi assinado pela chave pública 262276
usando o mecanismo de assinatura SHA256_RSA_PKCS
para produzir o arquivo assinado userCertSigned
. Como os parâmetros fornecidos não formam um relacionamento de assinatura verdadeiro, o comando retorna uma mensagem de erro.
Command:
verify -f hardwarecert.crt -s usercertsigned -k 262276 -m 1
Cfm3Verify returned: 0x1b CSP Error: ERR_BAD_PKCS_DATA
Parâmetros
Esse comando usa os seguintes parâmetros.
-f
-
O nome do arquivo de mensagens de origem.
Obrigatório: Sim
-s
-
O nome do arquivo assinado.
Obrigatório: sim
-k
-
O identificador da chave pública que é considerado para ser usado para assinar o arquivo.
Obrigatório: Sim
-m
-
Um inteiro que representa o mecanismo de assinatura proposto usado para assinar o arquivo. Os mecanismos possíveis correspondem aos seguintes números inteiros:
Mecanismo de assinatura
Número inteiro correspondente
SHA1_RSA_PKCS
0
SHA256_RSA_PKCS
1
SHA384_RSA_PKCS
2
SHA512_RSA_PKCS
3
SHA224_RSA_PKCS
4
SHA1_RSA_PKCS_PSS
5
SHA256_RSA_PKCS_PSS
6
SHA384_RSA_PKCS_PSS
7
SHA512_RSA_PKCS_PSS
8
SHA224_RSA_PKCS_PSS
9
ECDSA_SHA1
15
ECDSA_SHA224
16
ECDSA_SHA256
17
ECDSA_SHA384
18
ECDSA_SHA512
19
Obrigatório: Sim