

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Verifikasi EMV ARQC dan hasilkan ARPC
<a name="use-cases-issuers.generalfunctions.arqc"></a>

[ARQC](terminology.md#terms.arqc) (Authorization Request Cryptogram) adalah kriptogram yang dihasilkan oleh kartu EMV (chip) dan digunakan untuk memvalidasi detail transaksi serta penggunaan kartu resmi. Ini menggabungkan data dari kartu, terminal dan transaksi itu sendiri.

Pada waktu validasi di backend, input yang sama diberikan ke Kriptografi AWS Pembayaran, kriptogram dibuat ulang secara internal dan ini dibandingkan dengan nilai yang diberikan dengan transaksi. Dalam hal ini, ini mirip dengan MAC. [EMV 4.4 Buku 2](https://www.emvco.com/specifications/?post_id=80377) mendefinisikan tiga aspek fungsi ini - metode derivasi kunci (dikenal sebagai kunci sesi umum - CSK) untuk menghasilkan kunci transaksi satu kali, muatan minimum dan metode untuk menghasilkan respons (ARPC).

 Skema kartu individu dapat menentukan bidang transaksional tambahan untuk dimasukkan atau urutan bidang tersebut muncul. Skema derivasi spesifik lainnya (umumnya tidak digunakan lagi) juga ada dan tercakup di tempat lain dalam dokumentasi ini. 

Untuk informasi selengkapnya, lihat [VerifyCardValidationData](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_VerifyCardValidationData.html)di panduan API.

## Buat kuncinya
<a name="use-cases-issuers.generalfunctions.arqc.setup"></a>

```
$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{DeriveKey=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"CVN18"},{"Key":"CARD_BIN","Value":"12345678"}]'
```

Respons menggemakan kembali parameter permintaan, termasuk ARN untuk panggilan berikutnya serta Nilai Pemeriksaan Kunci (KCV).

```
{
                "Key": {
                    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk",
                    "KeyAttributes": {
                        "KeyUsage": "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS",
                        "KeyClass": "SYMMETRIC_KEY",
                        "KeyAlgorithm": "TDES_2KEY",
                        "KeyModesOfUse": {
                            "Encrypt": false,
                            "Decrypt": false,
                            "Wrap": false,
                            "Unwrap": false,
                            "Generate": false,
                            "Sign": false,
                            "Verify": false,
                            "DeriveKey": true,
                            "NoRestrictions": false
                        }
                    },
                    "KeyCheckValue": "08D7B4",
                    "KeyCheckValueAlgorithm": "ANSI_X9_24",
                    "Enabled": true,
                    "Exportable": true,
                    "KeyState": "CREATE_COMPLETE",
                    "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY",
                    "CreateTimestamp": "2024-03-07T06:41:46.648000-07:00",
                    "UsageStartTimestamp": "2024-03-07T06:41:46.626000-07:00"
                }
            }
```

Perhatikan yang mewakili kunci, misalnya `KeyArn` *arn:aws:payment-cryptography:us-east- 2:111122223333:key/pw3s6nl62t5ushfk*. Anda membutuhkannya di langkah berikutnya.

## Menghasilkan ARQC
<a name="use-cases-issuers.generalfunctions.arqc.generate"></a>

ARQC dihasilkan secara eksklusif oleh kartu EMV. Dengan demikian, Kriptografi AWS Pembayaran tidak memiliki fasilitas untuk menghasilkan muatan seperti itu. Untuk tujuan pengujian, sejumlah perpustakaan tersedia secara online yang dapat menghasilkan muatan yang sesuai serta nilai yang diketahui yang umumnya disediakan oleh berbagai skema. 

## Validasi ARQC
<a name="use-cases-issuers.generalfunctions.arqc.verify"></a>

**Example**  
Jika Kriptografi AWS Pembayaran dapat memvalidasi ARQC, http/200 dikembalikan. ARPC (respons) secara opsional dapat diberikan dan dimasukkan dalam respons setelah ARQC divalidasi.  

```
$ aws payment-cryptography-data verify-auth-request-cryptogram --auth-request-cryptogram 61EDCC708B4C97B4 --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk --major-key-derivation-mode EMV_OPTION_A --transaction-data 00000000170000000000000008400080008000084016051700000000093800000B1F2201030000000000000000000000000000000000000000000000000000008000000000000000 --session-key-derivation-attributes='{"EmvCommon":{"ApplicationTransactionCounter":"000B", "PanSequenceNumber":"01","PrimaryAccountNumber":"9137631040001422"}}' --auth-response-attributes='{"ArpcMethod2":{"CardStatusUpdate":"12345678"}}'
```

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk",
    "KeyCheckValue": "08D7B4",
    "AuthResponseValue":"2263AC85"
}
```