

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 產生身分驗證請求 (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 欄位中指定。

如需建置和填補交易資料的詳細資訊，請參閱[驗證身分驗證請求 (ARQC) 密碼編譯](data-operations.verifyauthrequestcryptogram.md)。

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

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

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

**Example**  
下列範例使用 Visa CVN10 產生 ARQC。  
如果 AWS 付款密碼編譯成功產生 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 相比，即使使用相同的輸入，也會產生完全不同的密碼編譯。  
如果 AWS 付款密碼編譯成功產生 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"
}
```