Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Funciones específicas de visa
Temas
ARQC -/ CVN18CVN22
CVN18 y CVN22 utilice el método CSK de derivación de claves. Los datos exactos de las transacciones varían entre estos dos métodos. Consulte la documentación del esquema para obtener más información sobre cómo crear el campo de datos de transacciones.
ARQC - CVN10
CVN10 es un método más antiguo de Visa para las transacciones EMV que utiliza la obtención de la clave por tarjeta en lugar de la derivación de la sesión (por transacción) y también utiliza una carga útil diferente. Para obtener información sobre el contenido de la carga útil, ponte en contacto con el programa para obtener más información.
Crear clave
$aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{DeriveKey=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"CVN10"},{"Key":"CARD_BIN","Value":"12345678"}]'
La respuesta refleja los parámetros de la solicitud, incluyendo un ARN para las llamadas posteriores y un valor de verificación clave (KCV).
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyAttributes": { "KeyUsage": "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "TDES_2KEY", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": false, "Sign": false, "Verify": false, "DeriveKey": true, "NoRestrictions": false } }, "KeyCheckValue": "08D7B4", "KeyCheckValueAlgorithm": "ANSI_X9_24", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2024-03-07T06:41:46.648000-07:00", "UsageStartTimestamp": "2024-03-07T06:41:46.626000-07:00" } }
Tome nota de lo KeyArn que representa la clave, por ejemplo arn:aws:payment-cryptography:us-east- 2:111122223333:key/pw3s6nl62t5ushfk. Lo necesitará en el siguiente paso.
Valide el ARQC
ejemplo
En este ejemplo, validaremos un ARQC generado con Visa. CVN10
Si la criptografía de AWS pagos puede validar el ARQC, se devuelve un http/200. Si el arqc no se valida, devolverá una respuesta http/400.
$aws payment-cryptography-data verify-auth-request-cryptogram --auth-request-cryptogram D791093C8A921769 \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk \ --major-key-derivation-mode EMV_OPTION_A \ --transaction-data 00000000170000000000000008400080008000084016051700000000093800000B03011203000000 \ --session-key-derivation-attributes='{"Visa":{"PanSequenceNumber":"01" \ ,"PrimaryAccountNumber":"9137631040001422"}}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4" }
3D CAVV V7
En el caso de las transacciones con Visa Secure (3DS), el servidor de control de acceso (ACS) del emisor genera un CAVV (valor de verificación de autenticación del titular de la tarjeta). El CAVV es una prueba de que se ha realizado la autenticación del titular de la tarjeta, es único para cada transacción de autenticación y lo proporciona el adquirente en el mensaje de autorización. La versión 7 del CAVV vincula a la aprobación los datos adicionales sobre la transacción, incluidos elementos como el nombre del vendedor, el importe de la compra y la fecha de compra. De esta forma, se trata, en efecto, de un hash criptográfico de la carga útil de la transacción.
Criptográficamente, el CAVV V7 utiliza el algoritmo CVV, pero todas las entradas han sido changed/repurposed. Please consult appropriate third party/Visa documentación sobre cómo producir las entradas para generar una carga útil del CAVV V7.
Crea la clave
$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":"CAVV-V7"},{"Key":"CARD_BIN","Value":"12345678"}]'
La respuesta refleja los parámetros de la solicitud, incluyendo un ARN para las llamadas posteriores y un valor de verificación clave (KCV).
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk", "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": "F3FB13", "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" } }
Tome nota de lo KeyArn que representa la clave, por ejemplo arn:aws:payment-cryptography:us-east- 2:111122223333:key/dnaeyrjgdjjtw6dk. Lo necesitará en el siguiente paso.
Genera un CAVV V7
ejemplo
En este ejemplo, generaremos un CAVV V7 para una transacción determinada con las entradas especificadas en las especificaciones. Tenga en cuenta que, en el caso de este algoritmo, los campos se pueden reutilizar o reutilizar, por lo que no se debe suponer que las etiquetas de los campos coinciden con las entradas.
Para ver todos los parámetros disponibles, consulte el apartado CardVerificationValue1 de la guía de referencia de la API.
$aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk --primary-account-number=171234567890123 --generation-attributes CardVerificationValue1='{CardExpiryDate=9431,ServiceCode=431}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk", "KeyCheckValue": "F3FB13", "ValidationData": "491" }
Valide el CAVV V7
ejemplo
Para la validación, las entradas son el CVK, los valores de entrada calculados y el CAVV proporcionados durante la transacción para la validación.
Para ver todos los parámetros disponibles, consulte el apartado CardVerificationValue1 de la guía de referencia de la API.
nota
El CAVV no es un valor introducido por el usuario (por ejemplo CVV2), sino que lo calcula el emisor ACS. Se debe tener en cuenta si siempre debe validarse cuando se proporciona.
$aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk --primary-account-number=171234567890123 --verification-attributes CardVerificationValue1='{CardExpiryDate=9431,ServiceCode=431} --validation-data 491
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/dnaeyrjgdjjtw6dk", "KeyCheckValue": "F3FB13", "ValidationData": "491" }
dCVV (valor de verificación dinámica de la tarjeta) - CVN17
El dCVV (valor dinámico de verificación de la tarjeta) es un criptograma dinámico específico para visados que se utiliza para las transacciones EMV sin contacto. Se lo conoce como EMV primitivo y proporciona una mayor seguridad al generar un valor de verificación único para cada transacción. El dCVV utiliza entradas como el número de cuenta principal (PAN), el número de secuencia PAN (PSN), el contador de transacciones de aplicaciones (ATC), el número impredecible y los datos de seguimiento. Todavía se usa en algunos lugares, pero ha sido reemplazado en su mayoría por otros algoritmos similares. CVN18
Para ver todos los parámetros disponibles, consulta DynamicCardVerificationValuela guía de referencia de la API.
Crea una clave
$aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Generate=true,Verify=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"DCVV"},{"Key":"CARD_BIN","Value":"12345678"}]'
La respuesta refleja los parámetros de la solicitud, incluyendo un ARN para las llamadas posteriores y un valor de verificación clave (KCV).
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/mw7dn3qxvkfh8ztc", "KeyAttributes": { "KeyUsage": "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "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": "A8E4D2", "KeyCheckValueAlgorithm": "ANSI_X9_24", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2025-02-02T11:45:30.648000-08:00", "UsageStartTimestamp": "2025-02-02T11:45:30.626000-08:00" } }
Tome nota de lo KeyArn que representa la clave, por ejemplo arn:aws:payment-cryptography:us-east- 2:111122223333:key/mw7dn3qxvkfh8ztc. Lo necesitará en el siguiente paso.
Genera un dCVv
ejemplo
En este ejemplo, generaremos un dCVV para una transacción EMV sin contacto. Las entradas incluyen el PAN, el número de secuencia PAN, el contador de transacciones de la aplicación, el número impredecible y los datos de seguimiento.
$aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/mw7dn3qxvkfh8ztc \ --primary-account-number=5111112627662122 \ --generation-attributes DynamicCardVerificationValue='{ApplicationTransactionCounter=01,PanSequenceNumber=00,TrackData=12345,UnpredictableNumber=123}' \ --validation-data-length 5
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/mw7dn3qxvkfh8ztc", "KeyCheckValue": "A8E4D2", "ValidationData": "36667" }
Valide el dCVV
ejemplo
En este ejemplo, validaremos un dCVV proporcionado durante una transacción. Para la validación, se deben proporcionar las mismas entradas utilizadas para la generación.
Si la criptografía de AWS pagos puede validarse, se devuelve un http/200. Si el valor no se valida, devolverá una respuesta http/400.
$aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/mw7dn3qxvkfh8ztc \ --primary-account-number=5111112627662122 \ --validation-data=36667 \ --verification-attributes DynamicCardVerificationValue='{ApplicationTransactionCounter=01,PanSequenceNumber=00,TrackData=12345,UnpredictableNumber=123}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/mw7dn3qxvkfh8ztc", "KeyCheckValue": "A8E4D2" }