验证 MAC - AWS 支付密码学

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

验证 MAC

Verify MAC API 用于验证与卡片相关的数据身份验证的 MAC(消息身份验证代码)。它必须使用生成 MAC 期间使用的相同加密密钥来重新生成用于身份验证的 MAC 值。MAC 加密密钥可以使用 AWS Payment Cryptography 创建,通过调用 CreateKey 或调用 ImportKey 导入。该 API 支持用于此操作的 DUPKT MAC、HMAC 和 EMV MAC 加密密钥。

如果该值已通过验证,则响应参数MacDataVerificationSuccessful 将返回 Http/200,否则将为 Http/400,消息表示 Mac verification failed

在此示例中,我们将使用 HMAC 算法 HMAC_SHA256 和 HMAC 加密密钥来验证用于卡数据身份验证的 HMAC(基于哈希的消息身份验证代码)。该密钥必须将 KeyUsage 设置为 TR31_M7_HMAC_KEY,并将 KeyModesOfUse 设置为 Verify

$ 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
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6, "KeyCheckValue": "2976E7", }