

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

# 生成身份验证请求 (ARQC) 密码
<a name="data-operations.generateauthrequestcryptogram"></a>

 [生成身份验证请求密码 API 用于生成 ARQC。](terminology.md#terms.arqc)此 API 允许您使用 AWS 支付密码生成 ARQC，用于开发和测试目的。

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

有关所有可用选项，请参阅 API 参考[GenerateAuthRequestCryptogram](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_GenerateAuthRequestCryptogram.html)中的。

ARQC 密码通常需要以下输入（尽管这可能因实现而异）：
+ [PAN](terminology.md#terms.pan)-在 PrimaryAccountNumber 字段中指定
+ [PAN 序列号 (PSN)](terminology.md#terms.psn)-在字段中指 PanSequenceNumber 定
+ 密钥派生方法，例如通用会话密钥 (CSK)-在 SessionKeyDerivationAttributes
+ 主密钥派生模式（例如 EMV 选项 A）-在 MajorKeyDerivationMode
+ 交易数据-一串交易、终端和银行卡数据，例如金额和日期。在 TransactionData 字段中指定。
+ [颁发者主密钥](terminology.md#terms.imk)-用于派生密码 (AC) 密钥的主密钥。此密钥可保护单个交易，并在 KeyIdentifier 字段中指定。

有关生成和填充交易数据的更多信息，请参阅[验证身份验证请求 (ARQ](data-operations.verifyauthrequestcryptogram.md) C) 密码。

**Topics**
+ [示例](#w2aac15c25c10c17)

## 示例
<a name="w2aac15c25c10c17"></a>

### Visa CVN10
<a name="w2aac15c25c10c17b3"></a>

**Example**  
以下示例使用 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
<a name="w2aac15c25c10c17b5"></a>

**Example**  
以下示例使用 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"
}
```