Utilizzo Verify con un AWS SDK o una CLI - AWS Key Management Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo Verify con un AWS SDK o una CLI

Gli esempi di codice seguenti mostrano come utilizzare Verify.

CLI
AWS CLI

Come verificare una firma digitale

Il seguente comando verify verifica una firma crittografica per un breve messaggio crittografato in formato Base64. L’ID chiave, il messaggio, il tipo di messaggio e l’algoritmo di firma devono essere gli stessi utilizzati per firmare il messaggio.

In AWS CLI v2, il valore del message parametro deve essere codificato in Base64. In alternativa, puoi salvare il messaggio in un file e utilizzare il fileb:// prefisso, che indica alla AWS CLI di leggere i dati binari dal file.

La firma specificata non può essere crittografata in formato Base64. Per informazioni sulla decrittografia della firma restituita dal comando sign, consulta gli esempi del comando sign.

L’output del comando include un campo booleano SignatureValid che indica che la firma è stata verificata. Se la convalida della firma ha esito negativo, anche il comando verify ha esito negativo.

Prima di eseguire questo comando, sostituisci l'ID della chiave di esempio con un ID chiave valido del tuo AWS account.

aws kms verify \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://EncodedMessage \ --message-type RAW \ --signing-algorithm RSASSA_PKCS1_V1_5_SHA_256 \ --signature fileb://ExampleSignature

Output:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "SignatureValid": true, "SigningAlgorithm": "RSASSA_PKCS1_V1_5_SHA_256" }

Per ulteriori informazioni sull'utilizzo delle chiavi KMS asimmetriche in AWS KMS, consulta Using asimmetric keys nella Key Management Service Developer Guide.AWS

  • Per informazioni dettagliate sull’API, consulta Verify in AWS CLI Command Reference.

Python
SDK per Python (Boto3)
Nota

GitHubC'è di più su. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS.

class KeyEncrypt: def __init__(self, kms_client): self.kms_client = kms_client @classmethod def from_client(cls) -> "KeyEncrypt": """ Creates a KeyEncrypt instance with a default KMS client. :return: An instance of KeyEncrypt initialized with the default KMS client. """ kms_client = boto3.client("kms") return cls(kms_client) def verify(self, key_id: str, message: str, signature: str) -> bool: """ Verifies a signature against a message. :param key_id: The ARN or ID of the key used to sign the message. :param message: The message to verify. :param signature: The signature to verify. :return: True when the signature matches the message, otherwise False. """ try: response = self.kms_client.verify( KeyId=key_id, Message=message.encode(), Signature=signature, SigningAlgorithm="RSASSA_PSS_SHA_256", ) valid = response["SignatureValid"] print(f"The signature is {'valid' if valid else 'invalid'}.") return valid except ClientError as err: if err.response["Error"]["Code"] == "SignatureDoesNotMatchException": print("The signature is not valid.") else: logger.error( "Couldn't verify your signature. Here's why: %s", err.response["Error"]["Message"], ) raise
  • Per i dettagli sull'API, consulta Verify in AWS SDK for Python (Boto3) API Reference.

Per un elenco completo delle guide per sviluppatori AWS SDK e degli esempi di codice, consulta. Utilizzo di questo servizio con un AWS SDK Questo argomento include anche informazioni su come iniziare e dettagli sulle versioni precedenti dell'SDK.