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-datawerden Chiffretextdaten mithilfe eines symmetrischen Schlüssels entschlüsselt. Für diesen Vorgang muss der SchlüsselKeyModesOfUseaufDecryptundKeyUsageaufTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEYgesetzt haben.aws payment-cryptography-data decrypt-data \ --key-identifierarn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h\ --cipher-text33612AB9D6929C3A828EB6030082B2BD\ --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-datawerden Klartextdaten mit einem symmetrischen Schlüssel verschlüsselt. Für diesen Vorgang muss der SchlüsselKeyModesOfUseaufEncryptundKeyUsageaufTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEYgesetzt haben.aws payment-cryptography-data encrypt-data \ --key-identifierarn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h\ --plain-text31323334313233343132333431323334\ --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-datawird ein CVV/CVV2 generiert.aws payment-cryptography-data generate-card-validation-data \ --key-identifierarn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h\ --primary-account-number=171234567890123 \ --generation-attributesCardVerificationValue2={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.
-
API-Details finden Sie unter GenerateCardValidationData
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie generate-mac verwendet wird.
- AWS CLI
-
So generieren Sie einen MAC
Im folgenden Beispiel für
generate-card-validation-datawird 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 mussKeyUsageaufTR31_M7_HMAC_KEYundKeyModesOfUseaufGenerategesetzt haben.aws payment-cryptography-data generate-mac \ --key-identifierarn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h\ --message-data"3b313038383439303031303733393431353d32343038323236303030373030303f33"\ --generation-attributesAlgorithm=HMAC_SHA256Ausgabe:
{ "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-datawird mithilfe des Visa-PIN-Schemas eine neue zufällige PIN generiert.aws payment-cryptography-data generate-pin-data \ --generation-key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2\ --encryption-key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt\ --primary-account-number171234567890123\ --pin-block-formatISO_FORMAT_0\ --generation-attributesVisaPin={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-datawird 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-identifierarn:aws:payment-cryptography:us-west-2:111122223333:key/hyvv7ymboitd4vfy\ --outgoing-key-identifierarn:aws:payment-cryptography:us-west-2:111122223333:key/jl6ythkcvzesbxen\ --cipher-text4D2B0BDBA192D5AEFEAA5B3EC28E4A65383C313FFA25140101560F75FE1B99F27192A90980AB9334\ --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-datawird 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-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt\ --outgoing-key-identifierarn: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.
-
API-Details finden Sie unter TranslatePinData
in der AWS CLI-Befehlsreferenz.
-
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-cryptogramwird ein Autorisierungsanforderungs-Kryptogramm (ARQC) verifiziert.aws payment-cryptography-data verify-auth-request-cryptogram \ --auth-request-cryptogramF6E1BD1E6037FB3E\ --auth-response-attributes '{"ArpcMethod1": {"AuthResponseCode": "1111"}}' \ --key-identifierarn: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.
-
API-Details finden Sie unter VerifyAuthRequestCryptogram
in der AWS CLI-Befehlsreferenz.
-
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-datawird ein CVV/CVV2 für ein PAN validiert.aws payment-cryptography-data verify-card-validation-data \ --key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi\ --primary-account-number=171234567890123 \ --verification-attributesCardVerificationValue2={CardExpiryDate=0123}\ --validation-data801Ausgabe:
{ "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.
-
API-Details finden Sie unter VerifyCardValidationData
in der AWS CLI-Befehlsreferenz.
-
Das folgende Codebeispiel zeigt, wie verify-mac verwendet wird.
- AWS CLI
-
So verifizieren Sie einen MAC
Im folgenden Beispiel für
verify-macwird 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-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6\ --message-data"3b343038383439303031303733393431353d32343038323236303030373030303f33"\ --verification-attributes='Algorithm=HMAC_SHA256' \ --macED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470CAusgabe:
{ "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-datawird eine PIN für eine PAN validiert.aws payment-cryptography-data verify-pin-data \ --verification-key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2\ --encryption-key-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt\ --primary-account-number171234567890123\ --pin-block-formatISO_FORMAT_0\ --verification-attributes VisaPin="{PinVerificationKeyIndex=1,VerificationValue=5507}" \ --encrypted-pin-blockAC17DC148BDA645EAusgabe:
{ "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.
-