AWS Payment Cryptography を使用したデータプレーンの例 AWS CLI - AWS Command Line Interface

このドキュメントは、 のバージョン 1 AWS CLI 専用です。のバージョン 2 に関連するドキュメントについては AWS CLI、バージョン 2 ユーザーガイド を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Payment Cryptography を使用したデータプレーンの例 AWS CLI

次のコード例は、 AWS Payment Cryptography Data Plane AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には、完全なソースコードへのリンクが含まれています。ここでは、コンテキストでコードを設定および実行する方法の手順を確認できます。

トピック

アクション

次のコード例は、decrypt-data を使用する方法を示しています。

AWS CLI

暗号文を復号するには

次のdecrypt-data例では、対称キーを使用して暗号文データを復号化します。このオペレーションでは、キーが KeyModesOfUseに設定Decryptされ、 KeyUsageに設定されている必要がありますTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY

aws payment-cryptography-data decrypt-data \ --key-identifier arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h \ --cipher-text 33612AB9D6929C3A828EB6030082B2BD \ --decryption-attributes 'Symmetric={Mode=CBC}'

出力:

{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h", "KeyCheckValue": "71D7AE", "PlainText": "31323334313233343132333431323334" }

詳細については、AWS 「 Payment Cryptography ユーザーガイド」の「データを復号する」を参照してください。

  • API 詳細については、AWS CLI 「 コマンドリファレンスDecryptData」の「」を参照してください。

次のコード例は、encrypt-data を使用する方法を示しています。

AWS CLI

データを暗号化するには

次のencrypt-data例では、対称キーを使用してプレーンテキストデータを暗号化します。このオペレーションでは、キーが KeyModesOfUseに設定Encryptされ、 KeyUsageに設定されている必要がありますTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY

aws payment-cryptography-data encrypt-data \ --key-identifier arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h \ --plain-text 31323334313233343132333431323334 \ --encryption-attributes 'Symmetric={Mode=CBC}'

出力:

{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h", "KeyCheckValue": "71D7AE", "CipherText": "33612AB9D6929C3A828EB6030082B2BD" }

詳細については、AWS 「 Payment Cryptography ユーザーガイド」の「データの暗号化」を参照してください。

  • API 詳細については、AWS CLI 「 コマンドリファレンスEncryptData」の「」を参照してください。

次の例は、generate-card-validation-data を使用する方法を説明しています。

AWS CLI

を生成するには CVV

次のgenerate-card-validation-data例では、CVV/ を生成しますCVV2。

aws payment-cryptography-data generate-card-validation-data \ --key-identifier arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h \ --primary-account-number=171234567890123 \ --generation-attributes CardVerificationValue2={CardExpiryDate=0123}

出力:

{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h", "KeyCheckValue": "CADDA1", "ValidationData": "801" }

詳細については、AWS 「 Payment Cryptography ユーザーガイド」の「カードデータの生成」を参照してください。

  • API 詳細については、AWS CLI 「 コマンドリファレンスGenerateCardValidationData」の「」を参照してください。

次の例は、generate-mac を使用する方法を説明しています。

AWS CLI

を生成するには MAC

次のgenerate-card-validation-data例では、アルゴリズム HMAC_SHA256 とHMAC暗号化キーを使用してカードデータ認証用のハッシュベースのメッセージ認証コード (HMAC) を生成します。キーは にKeyUsageTR31_M7_HMAC_KEY KeyModesOfUseは に設定されている必要がありますGenerate

aws payment-cryptography-data generate-mac \ --key-identifier arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h \ --message-data "3b313038383439303031303733393431353d32343038323236303030373030303f33" \ --generation-attributes Algorithm=HMAC_SHA256

出力:

{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h, "KeyCheckValue": "2976E7", "Mac": "ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C" }

詳細については、AWS 「 Payment Cryptography ユーザーガイド」の「生成MAC」を参照してください。

  • API 詳細については、AWS CLI 「 コマンドリファレンスGenerateMac」の「」を参照してください。

次の例は、generate-pin-data を使用する方法を説明しています。

AWS CLI

を生成するには PIN

次のgenerate-card-validation-data例では、Visa PINスキームPINを使用して新しいランダムを生成します。

aws payment-cryptography-data generate-pin-data \ --generation-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 \ --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt \ --primary-account-number 171234567890123 \ --pin-block-format ISO_FORMAT_0 \ --generation-attributes VisaPin={PinVerificationKeyIndex=1}

出力:

{ "GenerationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2", "GenerationKeyCheckValue": "7F2363", "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt", "EncryptionKeyCheckValue": "7CC9E2", "EncryptedPinBlock": "AC17DC148BDA645E", "PinData": { "VerificationValue": "5507" } }

詳細については、AWS 「 Payment Cryptography ユーザーガイド」のPIN「データの生成」を参照してください。

  • API 詳細については、AWS CLI 「 コマンドリファレンスGeneratePinData」の「」を参照してください。

次のコード例は、re-encrypt-data を使用する方法を示しています。

AWS CLI

別のキーでデータを再暗号化するには

次のre-encrypt-data例では、AES対称キーを使用して暗号化された暗号テキストを復号し、トランザクションあたりの派生一意キー (DUKPT) キーを使用して再暗号化します。

aws payment-cryptography-data re-encrypt-data \ --incoming-key-identifier arn:aws:payment-cryptography:us-west-2:111122223333:key/hyvv7ymboitd4vfy \ --outgoing-key-identifier arn:aws:payment-cryptography:us-west-2:111122223333:key/jl6ythkcvzesbxen \ --cipher-text 4D2B0BDBA192D5AEFEAA5B3EC28E4A65383C313FFA25140101560F75FE1B99F27192A90980AB9334 \ --incoming-encryption-attributes "Dukpt={Mode=ECB,KeySerialNumber=0123456789111111}" \ --outgoing-encryption-attributes '{"Symmetric": {"Mode": "ECB"}}'

出力:

{ "CipherText": "F94959DA30EEFF0C035483C6067667CF6796E3C1AD28C2B61F9CFEB772A8DD41C0D6822931E0D3B1", "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/jl6ythkcvzesbxen", "KeyCheckValue": "2E8CD9" }

詳細については、AWS 「 Payment Cryptography ユーザーガイド」の「データの暗号化と復号化」を参照してください。

  • API 詳細については、AWS CLI 「 コマンドリファレンスReEncryptData」の「」を参照してください。

次の例は、translate-pin-data を使用する方法を説明しています。

AWS CLI

PINデータを翻訳するには

次のtranslate-pin-data例では、 を 0 ISO PINブロックを使用したPEKTDES暗号化PINから DUKPTアルゴリズムを使用した 4 AES ISO PINブロックに変換します。

aws payment-cryptography-data translate-pin-data \ --encrypted-pin-block "AC17DC148BDA645E" \ --incoming-translation-attributes=IsoFormat0='{PrimaryAccountNumber=171234567890123}' \ --incoming-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt \ --outgoing-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/4pmyquwjs3yj4vwe \ --outgoing-translation-attributes IsoFormat4="{PrimaryAccountNumber=171234567890123}" \ --outgoing-dukpt-attributes KeySerialNumber="FFFF9876543210E00008"

出力:

{ "PinBlock": "1F4209C670E49F83E75CC72E81B787D9", "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt "KeyCheckValue": "7CC9E2" }

詳細については、AWS 「 Payment Cryptography ユーザーガイド」のPIN「データの変換」を参照してください。

  • API 詳細については、AWS CLI 「 コマンドリファレンスTranslatePinData」の「」を参照してください。

次のコード例は、verify-auth-request-cryptogram を使用する方法を示しています。

AWS CLI

認証リクエストを検証するには

次のverify-auth-request-cryptogram例では、認証リクエストの暗号 () を検証しますARQC。

aws payment-cryptography-data verify-auth-request-cryptogram \ --auth-request-cryptogram F6E1BD1E6037FB3E \ --auth-response-attributes '{"ArpcMethod1": {"AuthResponseCode": "1111"}}' \ --key-identifier arn:aws:payment-cryptography:us-west-2:111122223333:key/pboipdfzd4mdklya \ --major-key-derivation-mode "EMV_OPTION_A" \ --session-key-derivation-attributes '{"EmvCommon": {"ApplicationTransactionCounter": "1234","PanSequenceNumber": "01","PrimaryAccountNumber": "471234567890123"}}' \ --transaction-data "123456789ABCDEF"

出力:

{ "AuthResponseValue": "D899B8C6FBF971AA", "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/pboipdfzd4mdklya", "KeyCheckValue": "985792" }

詳細については、「 Payment Cryptography ユーザーガイド」の「認証リクエスト (ARQC) 暗号文の検証」を参照してください。 AWS

  • API 詳細については、AWS CLI 「 コマンドリファレンスVerifyAuthRequestCryptogram」の「」を参照してください。

次のコード例は、verify-card-validation-data を使用する方法を示しています。

AWS CLI

を検証するには CVV

次のverify-card-validation-data例では、 の CVV/CVV2 を検証しますPAN。

aws payment-cryptography-data verify-card-validation-data \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \ --primary-account-number=171234567890123 \ --verification-attributes CardVerificationValue2={CardExpiryDate=0123} \ --validation-data 801

出力:

{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "CADDA1" }

詳細については、AWS 「 Payment Cryptography ユーザーガイド」の「カードデータの検証」を参照してください。

  • API 詳細については、AWS CLI 「 コマンドリファレンスVerifyCardValidationData」の「」を参照してください。

次の例は、verify-mac を使用する方法を説明しています。

AWS CLI

を検証するには MAC

次のverify-mac例では、アルゴリズム HMAC_SHA256 とHMAC暗号化キーを使用して、カードデータ認証用のハッシュベースのメッセージ認証コード (HMAC) を検証します。

aws payment-cryptography-data verify-mac \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6 \ --message-data "3b343038383439303031303733393431353d32343038323236303030373030303f33" \ --verification-attributes='Algorithm=HMAC_SHA256' \ --mac ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C

出力:

{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6, "KeyCheckValue": "2976E7", }

詳細については、AWS 「 Payment Cryptography ユーザーガイド」の「VerifyMAC」を参照してください。

  • API 詳細については、AWS CLI 「 コマンドリファレンスVerifyMac」の「」を参照してください。

次のコード例は、verify-pin-data を使用する方法を示しています。

AWS CLI

を検証するには PIN

次のverify-pin-data例では、 PINの を検証しますPAN。

aws payment-cryptography-data verify-pin-data \ --verification-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 \ --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt \ --primary-account-number 171234567890123 \ --pin-block-format ISO_FORMAT_0 \ --verification-attributes VisaPin="{PinVerificationKeyIndex=1,VerificationValue=5507}" \ --encrypted-pin-block AC17DC148BDA645E

出力:

{ "VerificationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2", "VerificationKeyCheckValue": "7F2363", "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt", "EncryptionKeyCheckValue": "7CC9E2", }

詳細については、AWS 「 Payment Cryptography ユーザーガイド」のPIN「データの検証」を参照してください。

  • API 詳細については、AWS CLI 「 コマンドリファレンスVerifyPinData」の「」を参照してください。