Exemples d’utilisation de l’AWS CLI avec le plan de données AWS Payment Cryptography - AWS Command Line Interface

Exemples d’utilisation de l’AWS CLI avec le plan de données AWS Payment Cryptography

Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec le plan de données AWS Payment Cryptography.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.

Rubriques

Actions

L’exemple de code suivant montre comment utiliser decrypt-data.

AWS CLI

Pour déchiffrer le texte chiffré

L’exemple decrypt-data suivant déchiffre des données de texte chiffré à l’aide d’une clé symétrique. Pour cette opération, KeyModesOfUse doit être réglé sur Decrypt et KeyUsage sur 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}'

Sortie :

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

Pour plus d’informations, consultez Déchiffrement des données dans le Guide de l’utilisateur AWS Payment Cryptography.

  • Pour plus de détails sur l’API, consultez DecryptData dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser encrypt-data.

AWS CLI

Pour chiffrer des données

L’exemple encrypt-data suivant chiffre des données en texte brut à l’aide d’une clé symétrique. Pour cette opération, KeyModesOfUse doit être réglé sur Encrypt et KeyUsage sur 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}'

Sortie :

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

Pour plus d’informations, consultez Chiffrement des données dans le Guide de l’utilisateur AWS Payment Cryptography.

  • Pour plus de détails sur l’API, consultez EncryptData dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser generate-card-validation-data.

AWS CLI

Pour générer un CVV

L’exemple generate-card-validation-data suivant génère 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}

Sortie :

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

Pour plus d’informations, consultez Génération de données de carte dans le Guide de l’utilisateur AWS Payment Cryptography.

L’exemple de code suivant montre comment utiliser generate-mac.

AWS CLI

Pour générer un MAC

L’exemple generate-card-validation-data suivant génère un code d’authentification de message utilisant hash (HMAC) pour l’authentification des données de carte à l’aide de l’algorithme HMAC_SHA256 et d’une clé de chiffrement HMAC. La clé doit avoir KeyUsage défini sur TR31_M7_HMAC_KEY et KeyModesOfUse sur 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

Sortie :

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

Pour plus d’informations, consultez Génération d’une adresse MAC dans le Guide de l’utilisateur AWS Payment Cryptography.

  • Pour plus de détails sur l’API, consultez GenerateMac dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser generate-pin-data.

AWS CLI

Pour générer un PIN

L’exemple generate-card-validation-data suivant génère un nouveau PIN aléatoire à l’aide du schéma 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}

Sortie :

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

Pour plus d’informations, consultez Génération de données PIN dans le Guide de l’utilisateur AWS Payment Cryptography.

  • Pour plus de détails sur l’API, consultez GeneratePinData dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser re-encrypt-data.

AWS CLI

Pour rechiffrer les données avec une autre clé

L’exemple re-encrypt-data suivant déchiffre le texte chiffré à l’aide d’une clé symétrique AES et le chiffre à nouveau à l’aide de 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"}}'

Sortie :

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

Pour plus d’informations, consultez Chiffrement et déchiffrement des données dans le Guide de l’utilisateur AWS Payment Cryptography.

  • Pour plus de détails sur l’API, consultez ReEncryptData dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser translate-pin-data.

AWS CLI

Pour traduire les données PIN

L’exemple translate-pin-data suivant traduit un PIN issu du chiffrement PEK TDES utilisant un bloc PIN ISO 0 en un bloc PIN AES ISO 4 à l’aide de l’algorithme 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"

Sortie :

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

Pour plus d’informations, consultez Traduction des données PIN dans le Guide de l’utilisateur AWS Payment Cryptography.

  • Pour plus de détails sur l’API, consultez TranslatePinData dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser verify-auth-request-cryptogram.

AWS CLI

Pour vérifier une demande d’authentification

L’exemple verify-auth-request-cryptogram suivant vérifie un cryptogramme de demande d’autorisation (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"

Sortie :

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

Pour plus d’informations, consultez Vérification du cryptogramme de demande d’autorisation (ARQC) dans le Guide de l’utilisateur AWS Payment Cryptography.

L’exemple de code suivant montre comment utiliser verify-card-validation-data.

AWS CLI

Pour valider un CVV

L’exemple verify-card-validation-data suivant valide un CVV/CVV2 pour 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

Sortie :

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

Pour plus d’informations, consultez Vérification des données de carte dans le Guide de l’utilisateur AWS Payment Cryptography.

  • Pour plus de détails sur l’API, consultez VerifyCardValidationData dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser verify-mac.

AWS CLI

Pour vérifier un MAC

L’exemple verify-mac suivant vérifie un code d’authentification de message utilisant hash (HMAC) pour l’authentification des données de carte à l’aide de l’algorithme HMAC_SHA256 et d’une clé de chiffrement 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

Sortie :

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

Pour plus d’informations, consultez Vérification de l’adresse MAC dans le Guide de l’utilisateur AWS Payment Cryptography.

  • Pour plus de détails sur l’API, consultez VerifyMac dans la Référence des commandes de l’AWS CLI.

L’exemple de code suivant montre comment utiliser verify-pin-data.

AWS CLI

Pour vérifier un PIN

L’exemple verify-pin-data suivant valide un PIN pour 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

Sortie :

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

Pour plus d’informations, consultez Vérification des données PIN dans le Guide de l’utilisateur AWS Payment Cryptography.

  • Pour plus de détails sur l’API, consultez VerifyPinData dans la Référence des commandes de l’AWS CLI.