View a markdown version of this page

生成身份验证请求 (ARQC) 密码 - AWS Payment Cryptography

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

生成身份验证请求 (ARQC) 密码

生成身份验证请求密码 API 用于生成 ARQC。此 API 允许您使用 AWS 支付密码生成 ARQC,用于开发和测试目的。

重要

此操作仅适用于开发和测试场景。不建议在生产支付流程中使用此操作来替代基于卡片的密码生成。

有关所有可用选项,请参阅 API 参考GenerateAuthRequestCryptogram中的。

ARQC 密码通常需要以下输入(尽管这可能因实现而异):

  • PAN-在 PrimaryAccountNumber 字段中指定

  • PAN 序列号 (PSN)-在字段中指 PanSequenceNumber 定

  • 密钥派生方法,例如通用会话密钥 (CSK)-在 SessionKeyDerivationAttributes

  • 主密钥派生模式(例如 EMV 选项 A)-在 MajorKeyDerivationMode

  • 交易数据-一串交易、终端和银行卡数据,例如金额和日期。在 TransactionData 字段中指定。

  • 颁发者主密钥-用于派生密码 (AC) 密钥的主密钥。此密钥可保护单个交易,并在 KeyIdentifier 字段中指定。

有关生成和填充交易数据的更多信息,请参阅验证身份验证请求 (ARQ C) 密码。

主题

示例

Visa CVN10

以下示例使用 Visa CVN10 生成 ARQC。

如果 P AWS ayment Cryptography 成功生成 ARQC, http/200 则会返回与生成的密码一起返回。

$ aws payment-cryptography-data generate-auth-request-cryptogram \ --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", "AuthRequestCryptogram": "D791093C8A921769" }

Visa CVN18 和 Visa CVN22

以下示例使用 Visa CVN18 或 CVN22 生成 ARQC。CVN18 和 CVN22 之间的加密操作相同,但交易数据中包含的数据有所不同。与 CVN10 相比,即使输入相同,也会生成完全不同的密码。

如果 P AWS ayment Cryptography 成功生成 ARQC, http/200 则会返回与生成的密码一起返回。

$ aws payment-cryptography-data generate-auth-request-cryptogram \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk \ --major-key-derivation-mode EMV_OPTION_A \ --transaction-data 00000000170000000000000008400080008000084016051700000000093800000B1F22010300000000000 \ 00000000000000000000000000000000000000000008000000000000000 \ --session-key-derivation-attributes='{"EmvCommon":{"ApplicationTransactionCounter":"000B", \ "PanSequenceNumber":"01","PrimaryAccountNumber":"9137631040001422"}}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4", "AuthRequestCryptogram": "61EDCC708B4C97B4" }