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.
Verificar MAC
Verifique que la MAC API se utiliza para verificar MAC (código de autenticación de mensajes) para la autenticación de datos relacionados con tarjetas. Debe utilizar la misma clave de cifrado utilizada durante la generación del MAC para reproducir el valor MAC para la autenticación. La clave de cifrado MAC se puede crear con criptografía de AWS pago mediante una llamada CreateKeyo importarse mediante una llamada. ImportKey La API admite las claves de cifrado DUKPT MAC, HMAC y EMV MAC para esta operación.
Si el valor se verifica, el parámetro de respuesta MacDataVerificationSuccessful devolverá Http/200, en caso contrario Http/400 con un mensaje indicando que Mac verification failed.
Verifica HMAC
En este ejemplo, verificaremos un código HMAC (código de autenticación de mensajes basado en hash) para la autenticación de los datos de la tarjeta utilizando el algoritmo HMAC HMAC_SHA256 y la clave de encriptación HMAC. La clave debe estar KeyUsage configurada TR31_M7_HMAC_KEY y establecida en KeyModesOfUse Verify true.
ejemplo
$aws payment-cryptography-data verify-mac \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6 \ --message-data "3b343038383439303031303733393431353d32343038323236303030373030303f33" \ --mac ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C \ --verification-attributes Algorithm=HMAC_SHA256
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6", "KeyCheckValue": "2976E7" }
Verifique el MAC mediante DUKPT CMAC
En este ejemplo, verificaremos un MAC mediante la DUKPT (clave única derivada por transacción) con la CMAC para la autenticación de los datos de la tarjeta. La clave debe estar KeyUsage establecida TR31_B0_BASE_DERIVATION_KEY y establecida en KeyModesOfUse DeriveKey true. Las claves DUKPT obtienen una clave única para cada transacción mediante una clave de derivación básica (BDK) y un número de serie de la clave (KSN). El valor de DukptKeyVariant debe coincidir entre el remitente y el destinatario. Por lo general, REQUEST se usa del terminal al servidor, VERIFY del servidor al terminal y BIDIRECTIONAL cuando se usa una sola clave en ambas direcciones.
ejemplo
$aws payment-cryptography-data verify-mac \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \ --message-data "3b343038383439303031303733393431353d32343038323236303030373030303f33" \ --mac D8E804EE74BF1D909A2C01C0BDE8EF34 \ --verification-attributes DukptCmac='{"KeySerialNumber":"932A6E954ABB32DD00000001","DukptKeyVariant":"BIDIRECTIONAL"}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "C1EB8F" }