Esempi per il piano dati di AWS Payment Cryptography con AWS CLI - Esempi di codice per SDK AWS

Sono disponibili altri esempi per SDK AWS nel repository GitHub della documentazione degli esempi per SDK AWS.

Esempi per il piano dati di AWS Payment Cryptography con AWS CLI

Gli esempi di codice seguenti mostrano come eseguire operazioni e implementare scenari comuni utilizzando AWS Command Line Interface per il piano dati AWS Payment Cryptography.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

L’esempio di codice seguente mostra come utilizzare decrypt-data.

AWS CLI

Come decrittografare il testo criptato

L’esempio decrypt-data seguente decrittografa i dati di testo criptato utilizzando una chiave simmetrica. Per questa operazione, la chiave deve avere KeyModesOfUse impostato su Decrypt e KeyUsage impostato su 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}'

Output:

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

Per ulteriori informazioni, consulta Decriptare i dati nella Guida per l’utente di AWS Payment Cryptography (APC).

  • Per informazioni dettagliate sull’API, consulta DecryptData nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare encrypt-data.

AWS CLI

Come crittografare i dati

L’esempio encrypt-data seguente crittografa i dati in chiaro utilizzando una chiave simmetrica. Per questa operazione, la chiave deve avere KeyModesOfUse impostato su Encrypt e KeyUsage impostato su 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}'

Output:

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

Per ulteriori informazioni, consulta Crittografare i dati nella Guida per l’utente di AWS Payment Cryptography (APC).

  • Per informazioni dettagliate sull’API, consulta EncryptData nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare generate-card-validation-data.

AWS CLI

Come generare un CVV

L’esempio generate-card-validation-data seguente genera un 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}

Output:

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

Per ulteriori informazioni, consulta Generare i dati della carta nella Guida per l’utente di AWS Payment Cryptography (APC).

  • Per informazioni dettagliate sull’API, consulta GenerateCardValidationData nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare generate-mac.

AWS CLI

Come generare un MAC

L’esempio generate-card-validation-data seguente genera un Codice di autenticazione dei messaggi basato su hash (HMAC) (HMAC) per l’autenticazione dei dati delle carte utilizzando l’algoritmo HMAC_SHA256 e una chiave di crittografia HMAC. La chiave deve avere KeyUsage impostato su TR31_M7_HMAC_KEY e KeyModesOfUse su 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

Output:

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

Per ulteriori informazioni, consulta Generare l’indirizzo MAC nella Guida per l’utente di AWS Payment Cryptography (APC).

  • Per informazioni dettagliate sull’API, consulta GenerateMac nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare generate-pin-data.

AWS CLI

Come generare un PIN

L’esempio generate-card-validation-data seguente genera un nuovo PIN casuale utilizzando lo schema PIN Visa.

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}

Output:

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

Per ulteriori informazioni, consulta Generare i dati del PIN nella Guida per l’utente di AWS Payment Cryptography (APC).

  • Per informazioni dettagliate sull’API, consulta GeneratePinData nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare re-encrypt-data.

AWS CLI

Come crittografare nuovamente i dati con una chiave diversa

L’esempio re-encrypt-data seguente decrittografa il testo cifrato che è stato crittografato utilizzando una chiave simmetrica AES e lo cripta nuovamente utilizzando una chiave Derived Unique Key Per Transaction (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"}}'

Output:

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

Per ulteriori informazioni, consulta Crittografia e decrittografia dei dati nella Guida per l’utente di AWS Payment Cryptography (APC).

  • Per informazioni dettagliate sull’API, consulta ReEncryptData nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare translate-pin-data.

AWS CLI

Come tradurre i dati PIN

L’esempio translate-pin-data seguente traduce un PIN dalla crittografia PEK TDES utilizzando un blocco PIN ISO 0 in un blocco PIN AES ISO 4 utilizzando l’algoritmo DUKPT.

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"

Output:

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

Per ulteriori informazioni, consulta Tradurre i dati del PIN nella Guida per l’utente di AWS Payment Cryptography (APC).

  • Per informazioni dettagliate sull’API, consulta TranslatePinData in AWS CLI Command Reference

L’esempio di codice seguente mostra come utilizzare verify-auth-request-cryptogram.

AWS CLI

Come verificare una richiesta di autenticazione

L’esempio verify-auth-request-cryptogram seguente verifica un Authorization 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"

Output:

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

Per ulteriori informazioni, consulta Crittogramma di verifica della richiesta di autorizzazione (ARQC) nella Guida per l’utente di AWS Payment Cryptography (APC).

  • Per informazioni dettagliate sull’API, consulta VerifyAuthRequestCryptogram nella documentazione di riferimento dei comandi della AWS CLI .

L’esempio di codice seguente mostra come utilizzare verify-card-validation-data.

AWS CLI

Come convalidare un CVV

L’esempio verify-card-validation-data seguente convalida un CVV/CVV2 per un 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

Output:

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

Per ulteriori informazioni, consulta Verificare i dati della carta nella Guida per l’utente di AWS Payment Cryptography (APC).

  • Per informazioni dettagliate sull’API, consulta VerifyCardValidationData nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare verify-mac.

AWS CLI

Come verificare un MAC

L’esempio verify-mac seguente verifica un Codice di autenticazione dei messaggi basato su hash (HMAC) (HMAC) per l’autenticazione dei dati delle carte utilizzando l’algoritmo HMAC_SHA256 e una chiave di crittografia 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

Output:

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

Per ulteriori informazioni, consulta Verificare l’indirizzo MAC nella Guida per l’utente di AWS Payment Cryptography (APC).

  • Per informazioni dettagliate sull’API, consulta VerifyMac nella documentazione di riferimento dei comandi della AWS CLI.

L’esempio di codice seguente mostra come utilizzare verify-pin-data.

AWS CLI

Come verificare un PIN

L’esempio verify-pin-data seguente convalida un PIN per un 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

Output:

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

Per ulteriori informazioni, consulta Verificare i dati del PIN nella Guida per l’utente di AWS Payment Cryptography.

  • Per informazioni dettagliate sull’API, consulta VerifyPinData nella documentazione di riferimento dei comandi della AWS CLI.