As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Verificar MAC
A API de verificação de MAC é usada para verificar o MAC (Código de autenticação de mensagens) para autenticação de dados relacionados a cartões. Ela deve usar a mesma chave de criptografia usada durante a geração do MAC para reproduzir o valor do MAC para autenticação. A chave de criptografia MAC pode ser criada com criptografia AWS de pagamento por chamada CreateKeyou importada por chamada ImportKey. A API suporta chaves de criptografia DUKPT MAC, HMAC e EMV MAC para essa operação.
Se o valor for verificado, o parâmetro de resposta MacDataVerificationSuccessful retornará Http/200, caso contrário, Http/400 com uma mensagem indicando que Mac verification failed.
Verifique o HMAC
Neste exemplo, verificaremos um HMAC (Código de autenticação de mensagens baseado em hash) para autenticação de dados do cartão usando o algoritmo HMAC HMAC_SHA256 e a chave de criptografia HMAC. A chave deve ter sido KeyUsage definida como verdadeira TR31_M7_HMAC_KEY e KeyModesOfUse Verify definida como verdadeira.
exemplo
$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 o MAC usando o DUKPT CMAC
Neste exemplo, verificaremos um MAC usando DUKPT (Derived Unique Key Per Transaction) com CMAC para autenticação de dados do cartão. A chave deve ter sido KeyUsage definida como verdadeira TR31_B0_BASE_DERIVATION_KEY e KeyModesOfUse DeriveKey definida como verdadeira. As chaves DUKPT derivam uma chave exclusiva para cada transação usando uma chave de derivação básica (BDK) e um número de série da chave (KSN). O valor de DukptKeyVariant deve corresponder entre o remetente e o destinatário. REQUEST normalmente será usado do terminal ao back-end, VERIFY do back-end ao terminal e BIDIRECTIONAL quando uma única chave é usada nas duas direções.
exemplo
$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" }