Générer ou vérifier un iCVV pour une carte spécifique - AWS Cryptographie des paiements

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Générer ou vérifier un iCVV pour une carte spécifique

iCVV utilise le même algorithme que CVV/ CVV2 mais iCVV est intégré dans une carte à puce. Son code de service est 999.

Créez la clé

$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_C0_CARD_VERIFICATION_KEY,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Generate=true,Verify=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"ICVV"},{"Key":"CARD_BIN","Value":"12345678"}]'

La réponse renvoie les paramètres de la demande, y compris un ARN pour les appels suivants ainsi qu'une valeur de contrôle clé (KCV).

{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/c7dsi763r6s7lfp3", "KeyAttributes": { "KeyUsage": "TR31_C0_CARD_VERIFICATION_KEY", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "TDES_2KEY", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": true, "Sign": false, "Verify": true, "DeriveKey": false, "NoRestrictions": false } }, "KeyCheckValue": "1201FB", "KeyCheckValueAlgorithm": "ANSI_X9_24", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2023-06-05T06:41:46.648000-07:00", "UsageStartTimestamp": "2023-06-05T06:41:46.626000-07:00" } }

Prenez note de KeyArn ce qui représente la clé, par exemple arn:aws:payment-cryptography:us-east-2 : :key/c7dsi763r6s7lfp3. Vous en aurez besoin à l'étape suivante.

Générer un iCVV

Dans cet exemple, nous allons générer un iCVV pour un PAN donné avec les entrées suivantes : un code de PAN service (tel que défini par ISO/IEC 7813) de 999 et la date d'expiration de la carte.

Pour tous les paramètres disponibles, voir CardVerificationValue1 dans le guide de référence de l'API.

$ aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2::key/c7dsi763r6s7lfp3 --primary-account-number=171234567890123 --generation-attributes CardVerificationValue1='{CardExpiryDate=1127,ServiceCode=999}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/c7dsi763r6s7lfp3", "KeyCheckValue": "1201FB", "ValidationData": "532" }

Valider iCVV

Pour la validation, les entrées sont le CVKPAN, un code de service 999, la date d'expiration de la carte et l'iCVV fourni lors de la transaction à valider.

Pour tous les paramètres disponibles, voir CardVerificationValue1 dans le guide de référence de l'API.

Note

iCVV n'est pas une valeur saisie par l'utilisateur (comme CVV2) mais est généralement intégrée à une EMV/chip carte. Il convient de se demander s'il doit toujours être validé lorsqu'il est fourni.

$ aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2::key/c7dsi763r6s7lfp3 --primary-account-number=171234567890123 --verification-attributes CardVerificationValue1='{CardExpiryDate=1127,ServiceCode=999} --validation-data 532
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2::key/c7dsi763r6s7lfp3", "KeyCheckValue": "1201FB", "ValidationData": "532" }