

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 特定のカードの CVV を生成または検証する
<a name="use-cases-issuers.generalfunctions.cvv"></a>

[CVV](terminology.md#terms.cvv) または CVV1 は、従来カードの磁気ストライプに埋め込まれていた値です。これは CVV2 とは異なります (カード所有者が表示でき、オンライン購入に使用できます）。

最初のステップは、キー を作成することです。このチュートリアルでは、[CVK](terminology.md#terms.cvk) の 2 倍長 3DES (2KEY TDES) キーを作成します。

**注記**  
CVV、CVV2、および iCVV はすべて、同一のアルゴリズムではなくても同様のアルゴリズムを使用しますが、入力データは異なります。すべて同じキータイプ TR31\$1C0\$1CARD\$1VERIFICATION\$1KEY を使用しますが、目的ごとに個別のキーを使用することをお勧めします。これらは、以下の例のようにエイリアスやタグを使用して区別できます。

## キーを作成する
<a name="use-cases-issuers.generalfunctions.cvv.setup"></a>

```
$ 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}' --tags='[{"Key":"KEY_PURPOSE","Value":"CVV"},{"Key":"CARD_BIN","Value":"12345678"}]'
```

レスポンスには、後続の呼び出し用の ARN やキーチェック値 (KCV) などのリクエストパラメータがエコーバックされます。

```
{
            "Key": {
                "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/r52o3wbqxyf6qlqr",
                "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": "DE89F9",
                "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"
            }
        }
```

*arn:aws:payment-cryptography:us-east-2:111122223333:key/r52o3wbqxyf6qlqr* など、キー`KeyArn`を表す を書き留めます。これは次のステップで行います。

## CVV の生成
<a name="use-cases-issuers.generalfunctions.cvv.generate"></a>

**Example**  
この例では、入力が 、サービスコード (ISO/IEC 7813 で定義) が 121`PAN`、カードの有効期限がある特定の PAN の [CVV](terminology.md#terms.cvv) を生成します。  
使用可能なすべてのパラメータについては、 API リファレンスガイドの [CardVerificationValue1](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_CardVerificationValue1.html) を参照してください。  

```
$ aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/r52o3wbqxyf6qlqr --primary-account-number=171234567890123 --generation-attributes CardVerificationValue1='{CardExpiryDate=1127,ServiceCode=121}'
```

```
                  {
                      "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/r52o3wbqxyf6qlqr",
                      "KeyCheckValue": "DE89F9",
                      "ValidationData": "801"
                  }
```

## CVV を検証する
<a name="use-cases-issuers.generalfunctions.cvv.verify"></a>

**Example**  
この例では、CVK、、121 [のサービスコード、カードの有効期限、検証するトランザクション中に提供された CVV](terminology.md#terms.cvv) の入力を使用して、特定の PAN の CVV を検証します。 `PAN`  
使用可能なすべてのパラメータについては、 API リファレンスガイドの [CardVerificationValue1](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_CardVerificationValue1.html) を参照してください。  
CVV はユーザーが入力した値 (CVV2 など) ではありませんが、通常はマグストライプに埋め込まれます。提供されたときに常に検証する必要があるかどうかを考慮する必要があります。

```
$ aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/r52o3wbqxyf6qlqr --primary-account-number=171234567890123 --verification-attributes CardVerificationValue1='{CardExpiryDate=1127,ServiceCode=121} --validation-data 801
```

```
{
                    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/r52o3wbqxyf6qlqr",
                    "KeyCheckValue": "DE89F9",
                    "ValidationData": "801"
}
```