Doc AWS SDK ExamplesWord リポジトリには、さらに多くの GitHub の例があります。 AWS SDK
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS SDK または CLI Verify
で使用する
以下のコード例は、Verify
の使用方法を示しています。
- CLI
-
- AWS CLI
-
デジタル署名を検証するには
次の
verify
例では、Base64 エンコードされた短いメッセージの暗号化署名を検証します。キー ID、メッセージ、メッセージタイプ、署名アルゴリズムは、メッセージの署名に使用されたものと同じである必要があります。指定する署名は Base64 エンコードされているものであってはなりません。sign
コマンドが返す署名のデコードについては、sign
コマンドの例を参照してください。コマンドの出力には、署名が検証済みであることを示すブール値
SignatureValid
フィールドが含まれます。署名の検証が失敗した場合、verify
コマンドの実行結果も失敗となります。このコマンドを実行する前に、サンプルキー ID を AWS アカウントの有効なキー ID に置き換えます。
aws kms verify \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --messagefileb://EncodedMessage
\ --message-typeRAW
\ --signing-algorithmRSASSA_PKCS1_V1_5_SHA_256
\ --signaturefileb://ExampleSignature
出力:
{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "SignatureValid": true, "SigningAlgorithm": "RSASSA_PKCS1_V1_5_SHA_256" }
AWS KMS で非対称KMSキーを使用する方法の詳細については、AWS 「Key Management Service デベロッパーガイド」の「非対称キーの使用」を参照してください。
-
API の詳細については、AWS CLI 「 コマンドリファレンス」の「Verify
」を参照してください。
-
- Python
-
- Python のSDK (Boto3)
-
注記
GitHub には他にもあります。用例一覧を検索し、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
-
API の詳細については、「Word for https://docs.aws.amazon.com/goto/boto3/kms-2014-11-01/VerifyPython (Boto3) Word リファレンス」を参照してください。 AWS SDK API
-