

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

# Memulai Kriptografi AWS Pembayaran
<a name="getting-started"></a>

Untuk memulai dengan Kriptografi AWS Pembayaran, pertama-tama Anda ingin membuat kunci dan kemudian menggunakannya dalam berbagai operasi kriptografi. Tutorial di bawah ini menyediakan kasus penggunaan sederhana untuk menghasilkan kunci yang akan digunakan untuk generating/verifying CVV2 nilai. Untuk mencoba contoh lain dan menjelajahi pola penerapan dalam AWS, silakan coba [Workshop Kriptografi AWS Pembayaran](https://catalog.us-east-1.prod.workshops.aws/workshops/b85843d4-a5e4-40fc-9a96-de0a99312a4b/en-US) berikut atau jelajahi proyek sampel kami yang tersedia di [GitHub](https://github.com/aws-samples/samples-for-payment-cryptography-service) 

Tutorial ini memandu Anda melalui pembuatan satu kunci dan melakukan operasi kriptografi menggunakan kunci. Setelah itu, Anda menghapus kunci jika Anda tidak lagi menginginkannya, yang melengkapi siklus hidup kunci. 

**Awas**  
 Contoh di seluruh panduan pengguna ini dapat menggunakan nilai sampel. Kami *sangat menyarankan untuk* tidak menggunakan nilai sampel dalam lingkungan produksi seperti nomor seri kunci. 

**Topics**
+ [Prasyarat](#getting-started-prerequisites)
+ [Langkah 1: Buat kunci](#getting-started-step1)
+ [Langkah 2: Hasilkan CVV2 nilai menggunakan kunci](#getting-started-step2)
+ [Langkah 3: Verifikasi nilai yang dihasilkan pada langkah 2](#getting-started-step3)
+ [Langkah 4: Lakukan tes negatif](#getting-started-step4)
+ [Langkah 5: (Opsional) Bersihkan](#getting-started-cleanup)

## Prasyarat
<a name="getting-started-prerequisites"></a>

Sebelum Anda mulai, pastikan bahwa:
+ Anda memiliki izin untuk mengakses layanan. Untuk informasi selengkapnya, lihat [kebijakan IAM](security_iam_service-with-iam.md).
+ Anda telah [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)menginstal. Anda juga dapat menggunakan [AWS SDKs](https://aws.amazon.com/developer/tools/)atau [AWS APIs](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/Welcome.html)mengakses Kriptografi AWS Pembayaran, tetapi instruksi dalam tutorial ini menggunakan. AWS CLI

## Langkah 1: Buat kunci
<a name="getting-started-step1"></a>

Langkah pertama adalah membuat kunci. Untuk tutorial ini, Anda membuat kunci 3DES (2KEY TDES) panjang ganda [CVK](terminology.md#terms.cvk) untuk menghasilkan dan memverifikasi nilai CVV/. CVV2 

```
$ aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_C0_CARD_VERIFICATION_KEY,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Generate=true,Verify=true}'
```

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/tqv5yij6wtxx64pi",
        "KeyAttributes": {
            "KeyUsage": "TR31_C0_CARD_VERIFICATION_KEY",
            "KeyClass": "SYMMETRIC_KEY",
            "KeyAlgorithm": "TDES_2KEY",
            "KeyModesOfUse": {
                "Encrypt": false,
                "Decrypt": false,
                "Wrap": false,
                "Unwrap": false,
                "Generate": true,
                "Sign": false,
                "Verify": true,
                "DeriveKey": false,
                "NoRestrictions": false
            }
        },
        "KeyCheckValue": "CADDA1",
        "KeyCheckValueAlgorithm": "ANSI_X9_24",
        "Enabled": true,
        "Exportable": true,
        "KeyState": "CREATE_COMPLETE",
        "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY",
        "CreateTimestamp": "2023-06-05T06:41:46.648000-07:00",
        "UsageStartTimestamp": "2023-06-05T06:41:46.626000-07:00"
    }
}
```

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

## Langkah 2: Hasilkan CVV2 nilai menggunakan kunci
<a name="getting-started-step2"></a>

Pada langkah ini, Anda menghasilkan CVV2 untuk tanggal tertentu `PAN` dan kedaluwarsa menggunakan kunci dari langkah 1. 

```
$  aws payment-cryptography-data generate-card-validation-data \
    --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \
    --primary-account-number=171234567890123 \
    --generation-attributes CardVerificationValue2={CardExpiryDate=0123}
```

```
{
    "CardDataGenerationKeyCheckValue": "CADDA1",
    "CardDataGenerationKeyIdentifier": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "CardDataType": "CARD_VERIFICATION_VALUE_2",
    "CardDataValue": "144"
}
```

Perhatikan`cardDataValue`, dalam hal ini angka 3 digit 144. Anda membutuhkannya di langkah berikutnya.

## Langkah 3: Verifikasi nilai yang dihasilkan pada langkah 2
<a name="getting-started-step3"></a>

Dalam contoh ini, Anda memvalidasi CVV2 dari langkah 2 menggunakan kunci yang Anda buat di langkah 1.

Jalankan perintah berikut untuk memvalidasi. CVV2

```
$  aws payment-cryptography-data  verify-card-validation-data \
    --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \
    --primary-account-number=171234567890123 \
    --verification-attributes CardVerificationValue2={CardExpiryDate=0123} \
    --validation-data 144
```

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "CADDA1"
}
```

Layanan mengembalikan respon HTTP 200 untuk menunjukkan bahwa itu memvalidasi. CVV2

## Langkah 4: Lakukan tes negatif
<a name="getting-started-step4"></a>

Pada langkah ini, Anda membuat tes negatif di mana tidak CVV2 benar dan tidak memvalidasi. Anda mencoba untuk memvalidasi yang salah CVV2 menggunakan kunci yang Anda buat di langkah 1. Ini adalah operasi yang diharapkan misalnya jika pemegang kartu salah memasukkan CVV2 saat checkout. 

```
$  aws payment-cryptography-data  verify-card-validation-data \
    --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \
    --primary-account-number=171234567890123 \
    --verification-attributes CardVerificationValue2={CardExpiryDate=0123} \
    --validation-data 999
```

```
Card validation data verification failed.
```

Layanan mengembalikan respons HTTP 400 dengan pesan “Verifikasi data validasi kartu gagal” dan alasan INVALID\$1VALIDATION\$1DATA.

## Langkah 5: (Opsional) Bersihkan
<a name="getting-started-cleanup"></a>

Sekarang Anda dapat menghapus kunci yang Anda buat di langkah 1. Untuk meminimalkan perubahan yang tidak dapat dipulihkan, periode penghapusan kunci default adalah tujuh hari. 

```
$ aws payment-cryptography delete-key \
    --key-identifier=arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi
```

```
{
    "Key": {
        "CreateTimestamp": "2022-10-27T08:27:51.795000-07:00",
        "DeletePendingTimestamp": "2022-11-03T13:37:12.114000-07:00",
        "Enabled": true,
        "Exportable": true,
        "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
        "KeyAttributes": {
            "KeyAlgorithm": "TDES_3KEY",
            "KeyClass": "SYMMETRIC_KEY",
            "KeyModesOfUse": {
                "Decrypt": true,
                "DeriveKey": false,
                "Encrypt": true,
                "Generate": false,
                "NoRestrictions": false,
                "Sign": false,
                "Unwrap": true,
                "Verify": false,
                "Wrap": true
            },
            "KeyUsage": "TR31_C0_CARD_VERIFICATION_KEY"
        },
        "KeyCheckValue": "CADDA1",
        "KeyCheckValueAlgorithm": "ANSI_X9_24",
        "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY",
        "KeyState": "DELETE_PENDING",
        "UsageStartTimestamp": "2022-10-27T08:27:51.753000-07:00"
    }
}
```

Catat dua bidang dalam output. `deletePendingTimestamp`Ini diatur ke tujuh hari di masa depan secara default. KeyState diatur ke`DELETE_PENDING`. Anda dapat membatalkan penghapusan ini kapan saja sebelum waktu penghapusan yang dijadwalkan dengan menelepon. [https://docs.aws.amazon.com/cli/latest/reference/payment-cryptography/restore-key.html](https://docs.aws.amazon.com/cli/latest/reference/payment-cryptography/restore-key.html)