Esempi per il piano dati di AWS Payment Cryptography con AWS CLI
Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface per il piano dati AWS Payment Cryptography.
Le operazioni 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, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Operazioni
L’esempio di codice seguente mostra come utilizzare decrypt-data.
- AWS CLI
-
Come decrittografare il testo criptato
L’esempio
decrypt-dataseguente decrittografa i dati di testo criptato utilizzando una chiave simmetrica. Per questa operazione, la chiave deve avereKeyModesOfUseimpostato suDecrypteKeyUsageimpostato suTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY.aws payment-cryptography-data decrypt-data \ --key-identifierarn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h\ --cipher-text33612AB9D6929C3A828EB6030082B2BD\ --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
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare encrypt-data.
- AWS CLI
-
Come crittografare i dati
Nell’esempio seguente
encrypt-datacrittografa i dati in chiaro utilizzando una chiave simmetrica. Per questa operazione, la chiave deve avereKeyModesOfUseimpostato suEncrypteKeyUsageimpostato suTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY.aws payment-cryptography-data encrypt-data \ --key-identifierarn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h\ --plain-text31323334313233343132333431323334\ --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
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare generate-card-validation-data.
- AWS CLI
-
Come generare un CVV
Nell’esempio seguente
generate-card-validation-datagenera un CVV/CVV2.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}Output:
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h", "KeyCheckValue": "CADDA1", "ValidationData": "801" }Per ulteriori informazioni, consulta Generate card data nella Guida per l’utente di AWS Payment Cryptography (APC).
-
Per informazioni dettagliate sull’API, consulta GenerateCardValidationData
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare generate-mac.
- AWS CLI
-
Come generare un MAC
Nell’esempio seguente
generate-card-validation-datagenera 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 avereKeyUsageimpostato suTR31_M7_HMAC_KEYeKeyModesOfUsesuGenerate.aws payment-cryptography-data generate-mac \ --key-identifierarn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h\ --message-data"3b313038383439303031303733393431353d32343038323236303030373030303f33"\ --generation-attributesAlgorithm=HMAC_SHA256Output:
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h, "KeyCheckValue": "2976E7", "Mac": "ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C" }Per ulteriori informazioni, consulta Generate MAC nella Guida per l’utente di AWS Payment Cryptography (APC).
-
Per informazioni dettagliate sull’API, consulta GenerateMac
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare generate-pin-data.
- AWS CLI
-
Come generare un PIN
Nell’esempio seguente
generate-card-validation-datagenera un nuovo PIN casuale utilizzando lo schema PIN Visa.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}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 Generate PIN data nella Guida per l’utente di AWS Payment Cryptography (APC).
-
Per informazioni dettagliate sull’API, consulta GeneratePinData
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare re-encrypt-data.
- AWS CLI
-
Come crittografare nuovamente i dati con una chiave diversa
Nell’esempio seguente
re-encrypt-datadecrittografa 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-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"}}'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
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare translate-pin-data.
- AWS CLI
-
Come tradurre i dati PIN
Nell’esempio seguente
translate-pin-datatraduce 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-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"Output:
{ "PinBlock": "1F4209C670E49F83E75CC72E81B787D9", "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt "KeyCheckValue": "7CC9E2" }Per ulteriori informazioni, consulta Translate PIN data 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
Nell’esempio seguente
verify-auth-request-cryptogramverifica un Authorization Request Cryptogram (ARQC).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"Output:
{ "AuthResponseValue": "D899B8C6FBF971AA", "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/pboipdfzd4mdklya", "KeyCheckValue": "985792" }Per ulteriori informazioni, consulta il crittogramma Verify auth request (ARQC) nella Guida per l’utente di AWS Payment Cryptography (APC).
-
Per informazioni dettagliate sull’API, consulta VerifyAuthRequestCryptogram
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare verify-card-validation-data.
- AWS CLI
-
Come convalidare un CVV
Nell’esempio seguente
verify-card-validation-dataconvalida un CVV/CVV2 per un PAN.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-data801Output:
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "CADDA1" }Per ulteriori informazioni, consulta Verify card data nella Guida per l’utente di AWS Payment Cryptography (APC).
-
Per informazioni dettagliate sull’API, consulta VerifyCardValidationData
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare verify-mac.
- AWS CLI
-
Come verificare un MAC
Nell’esempio seguente
verify-macverifica 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-identifierarn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6\ --message-data"3b343038383439303031303733393431353d32343038323236303030373030303f33"\ --verification-attributes='Algorithm=HMAC_SHA256' \ --macED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470COutput:
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6, "KeyCheckValue": "2976E7", }Per ulteriori informazioni, consulta Verify MAC nella Guida per l’utente di AWS Payment Cryptography (APC).
-
Per informazioni dettagliate sull’API, consulta VerifyMac
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare verify-pin-data.
- AWS CLI
-
Come verificare un PIN
Nell’esempio seguente
verify-pin-dataconvalida un PIN per un PAN.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-blockAC17DC148BDA645EOutput:
{ "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 Verify PIN data nella Guida per l’utente di AWS Payment Cryptography.
-
Per informazioni dettagliate sull’API, consulta VerifyPinData
in AWS CLI Command Reference.
-