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
verifyverifica 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
messageparametro deve essere codificato in Base64. In alternativa, puoi salvare il messaggio in un file e utilizzare ilfileb://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 comandosign.L’output del comando include un campo booleano
SignatureValidche indica che la firma è stata verificata. Se la convalida della firma ha esito negativo, anche il comandoverifyha 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-id1234abcd-12ab-34cd-56ef-1234567890ab\ --messagefileb://EncodedMessage\ --message-typeRAW\ --signing-algorithmRSASSA_PKCS1_V1_5_SHA_256\ --signaturefileb://ExampleSignatureOutput:
{ "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.