Gunakan Verify dengan AWS SDK atau CLI - AWS Key Management Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan Verify dengan AWS SDK atau CLI

Contoh kode berikut menunjukkan cara menggunakanVerify.

CLI
AWS CLI

Untuk memverifikasi tanda tangan digital

verifyContoh berikut memverifikasi tanda tangan kriptografi untuk pesan singkat yang disandikan Base64. ID kunci, pesan, jenis pesan, dan algoritma penandatanganan harus sama dengan yang digunakan untuk menandatangani pesan. Tanda tangan yang Anda tentukan tidak dapat dikodekan base64. Untuk bantuan decoding tanda tangan yang dikembalikan sign perintah, lihat contoh sign perintah.

Output dari perintah termasuk SignatureValid bidang Boolean yang menunjukkan bahwa tanda tangan telah diverifikasi. Jika validasi tanda tangan gagal, verify perintah juga gagal.

Sebelum menjalankan perintah ini, ganti ID kunci contoh dengan ID kunci yang valid dari AWS akun Anda.

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" }

Untuk informasi selengkapnya tentang penggunaan kunci KMS asimetris di AWS KMS, lihat Menggunakan kunci asimetris di Panduan Pengembang Layanan Manajemen AWS Kunci.

  • Untuk detail API, lihat Verifikasi di Referensi AWS CLI Perintah.

Python
SDK untuk Python (Boto3)
catatan

Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara pengaturan dan menjalankannya di Repositori Contoh Kode 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
  • Untuk detail API, lihat Verifikasi di AWS SDK for Python (Boto3) Referensi API.

Untuk daftar lengkap panduan pengembang AWS SDK dan contoh kode, lihatMenggunakan layanan ini dengan AWS SDK. Topik ini juga mencakup informasi tentang memulai dan detail tentang versi SDK sebelumnya.