AWS Payment Cryptography Esempi di piani dati che utilizzano AWS CLI - AWS Command Line Interface

Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS Payment Cryptography Esempi di piani dati che utilizzano AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with AWS Payment Cryptography Data Plane.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni 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

Il seguente esempio di codice mostra come utilizzaredecrypt-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).

Il seguente esempio di codice mostra come utilizzareencrypt-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).

Il seguente esempio di codice mostra come utilizzaregenerate-card-validation-data.

AWS CLI

Come generare un CVV

L'generate-card-validation-dataesempio 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).

Il seguente esempio di codice mostra come utilizzaregenerate-mac.

AWS CLI

Come generare un MAC

L'generate-card-validation-dataesempio seguente genera un codice di autenticazione dei messaggi basato su hash (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 i dettagli sull'API, vedere in Command Reference. GenerateMacAWS CLI

Il seguente esempio di codice mostra come utilizzaregenerate-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).

Il seguente esempio di codice mostra come utilizzarere-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).

Il seguente esempio di codice mostra come utilizzaretranslate-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).

Il seguente esempio di codice mostra come utilizzareverify-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).

Il seguente esempio di codice mostra come utilizzareverify-card-validation-data.

AWS CLI

Come convalidare un CVV

L'verify-card-validation-dataesempio 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).

Il seguente esempio di codice mostra come utilizzareverify-mac.

AWS CLI

Come verificare un MAC

L'verify-macesempio seguente verifica un codice di autenticazione dei messaggi basato su hash (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 i dettagli sull'API, vedere in Command Reference. VerifyMacAWS CLI

Il seguente esempio di codice mostra come utilizzareverify-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.