AWS Payment Cryptography-Datenebenenbeispiele unter Verwendung von AWS CLI - AWS Command Line Interface

AWS Payment Cryptography-Datenebenenbeispiele unter Verwendung von AWS CLI

Das folgende Codebeispiel zeigt, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit AWS Payment Cryptography-Data Plane nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie decrypt-data verwendet wird.

AWS CLI

So entschlüsseln Sie Chiffretext

Im folgenden Beispiel für decrypt-data werden Chiffretextdaten mithilfe eines symmetrischen Schlüssels entschlüsselt. Für diesen Vorgang muss der Schlüssel KeyModesOfUse auf Decrypt und KeyUsage auf TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY gesetzt haben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Daten entschlüsseln im Benutzerhandbuch zu AWS Payment Cryptography.

  • API-Details finden Sie unter DecryptData in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie encrypt-data verwendet wird.

AWS CLI

So verschlüsseln Sie Daten

Im folgenden Beispiel für encrypt-data werden Klartextdaten mit einem symmetrischen Schlüssel verschlüsselt. Für diesen Vorgang muss der Schlüssel KeyModesOfUse auf Encrypt und KeyUsage auf TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY gesetzt haben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Daten verschlüsseln im Benutzerhandbuch zu AWS Payment Cryptography.

  • API-Details finden Sie unter EncryptData in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie generate-card-validation-data verwendet wird.

AWS CLI

So generieren Sie einen CVV

Im folgenden Beispiel für generate-card-validation-data wird ein CVV/CVV2 generiert.

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}

Ausgabe:

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

Weitere Informationen finden Sie unter Generieren von Kartendaten im Benutzerhandbuch zu AWS Payment Cryptography.

Das folgende Codebeispiel zeigt, wie generate-mac verwendet wird.

AWS CLI

So generieren Sie einen MAC

Im folgenden Beispiel für generate-card-validation-data wird ein Hash-basierter Nachrichtenauthentifizierungscode (HMAC) für die Kartendatenauthentifizierung unter Verwendung des Algorithmus HMAC_SHA256 und eines HMAC-Verschlüsselungsschlüssels generiert. Der Schlüssel muss KeyUsage auf TR31_M7_HMAC_KEY und KeyModesOfUse auf Generate gesetzt haben.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Genieren von MAC im Benutzerhandbuch zu AWS Payment Cryptography.

  • API-Details finden Sie unter GenerateMac in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie generate-pin-data verwendet wird.

AWS CLI

So generieren Sie eine PIN

Im folgenden Beispiel für generate-card-validation-data wird mithilfe des Visa-PIN-Schemas eine neue zufällige PIN generiert.

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}

Ausgabe:

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

Weitere Informationen finden Sie unter Generieren von PIN-Daten im Benutzerhandbuch zu AWS Payment Cryptography.

  • API-Details finden Sie unter GeneratePinData in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie re-encrypt-data verwendet wird.

AWS CLI

So verschlüsseln Sie Daten erneut mit einem anderen Schlüssel

Im folgenden Beispiel für re-encrypt-data wird Chiffriertext entschlüsselt, der mit einem symmetrischen AES-Schlüssel verschlüsselt wurde, und dann mit einem DUKPT (Derived Unique Key Per Transaction)-Schlüssel erneut verschlüsselt.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Daten verschlüsseln und entschlüsseln im Benutzerhandbuch zu AWS Payment Cryptography.

  • API-Details finden Sie unter ReEncryptData in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie translate-pin-data verwendet wird.

AWS CLI

So übersetzen Sie PIN-Daten

Im folgenden Beispiel für translate-pin-data wird eine PIN aus der PEK-TDES-Verschlüsselung unter Verwendung des ISO-0-PIN-Blocks in einen AES-ISO-4-PIN-Block unter Verwendung des DUKPT-Algorithmus übersetzt.

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"

Ausgabe:

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

Weitere Informationen finden Sie unter Übersetzen von PIN-Daten im Benutzerhandbuch zu AWS Payment Cryptography.

Das folgende Codebeispiel zeigt, wie verify-auth-request-cryptogram verwendet wird.

AWS CLI

So verifizieren Sie eine Authentifizierungsanfrage

Im folgenden Beispiel für verify-auth-request-cryptogram wird ein Autorisierungsanforderungs-Kryptogramm (ARQC) verifiziert.

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"

Ausgabe:

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

Weitere Informationen finden Sie unter Verifizieren des Autorisierungsanforderungs-Kryptogramms (ARQC) im Benutzerhandbuch zu AWS Payment Cryptography.

Das folgende Codebeispiel zeigt, wie verify-card-validation-data verwendet wird.

AWS CLI

So validieren Sie einen CVV

Im folgenden Beispiel für verify-card-validation-data wird ein CVV/CVV2 für ein PAN validiert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verifizieren von Kartendaten im Benutzerhandbuch zu AWS Payment Cryptography.

Das folgende Codebeispiel zeigt, wie verify-mac verwendet wird.

AWS CLI

So verifizieren Sie einen MAC

Im folgenden Beispiel für verify-mac wird ein Hash-basierter Nachrichtenauthentifizierungscode (HMAC) für die Kartendatenauthentifizierung mithilfe des Algorithmus HMAC_SHA256 und eines HMAC-Verschlüsselungsschlüssels verifiziert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verifizieren des MAC im Benutzerhandbuch zu AWS Payment Cryptography.

  • API-Details finden Sie unter VerifyMac in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie verify-pin-data verwendet wird.

AWS CLI

So verifizieren Sie eine PIN

Im folgenden Beispiel für verify-pin-data wird eine PIN für eine PAN validiert.

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

Ausgabe:

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

Weitere Informationen finden Sie unter Verifizieren von PIN-Daten im Benutzerhandbuch zu AWS Payment Cryptography.

  • API-Details finden Sie unter VerifyPinData in der AWS CLI-Befehlsreferenz.