本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
生成 MAC
Generate MAC API 用于验证与卡相关的数据,例如来自卡片磁条的跟踪数据,方法是使用已知的数据值生成 MAC(消息验证码),以在发送方和接收方之间进行数据验证。用于生成 MAC 的数据包括消息数据、机密 MAC 加密密钥和 MAC 算法,用于生成用于传输的唯一 MAC 值。MAC 的接收方将使用相同的 MAC 消息数据、MAC 加密密钥和算法来重现另一个 MAC 值以进行比较和数据验证。即使是消息的一个字符发生了变化,或者用于验证的 MAC 密钥不完全相同,生成的MAC 也会完全不同。该 API 支持用于此操作的 DUPKT MAC、HMAC 和 EMV MAC 加密密钥。
message-data
的输入值必须是十六进制数据。
在此示例中,我们将使用 HMAC 算法 HMAC_SHA256
和 HMAC 加密密钥生成用于卡数据身份验证的 HMAC(基于哈希的消息身份验证代码)。该密钥必须将 KeyUsage 设置为 TR31_M7_HMAC_KEY
,并将 KeyModesOfUse 设置为 Generate
。MAC 密钥可以使用 AWS Payment Cryptography 创建,通过调用 CreateKey 或调用 ImportKey 导入。
$
aws payment-cryptography-data generate-mac \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6 \ --message-data "3b313038383439303031303733393431353d32343038323236303030373030303f33" \ --generation-attributes Algorithm=HMAC_SHA256
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6, "KeyCheckValue": "2976E7", "Mac": "ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C" }