

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Generieren oder verifizieren Sie einen CVV für eine bestimmte Karte
<a name="use-cases-issuers.generalfunctions.cvv"></a>

[CVV](terminology.md#terms.cvv) oder CVV1 ist ein Wert, der traditionell in den Magnetstreifen einer Karte eingebettet ist. Es ist nicht dasselbe wie CVV2 (für den Karteninhaber sichtbar und kann für Online-Einkäufe verwendet werden).

Der erste Schritt besteht darin, einen Schlüssel zu erstellen. Für dieses Tutorial erstellen Sie einen [CVK-3DES-Schlüssel](terminology.md#terms.cvk) (2KEY TDES) mit doppelter Länge. 

**Anmerkung**  
CVV CVV2 und iCVV verwenden alle ähnliche, wenn nicht sogar identische Algorithmen, variieren jedoch die Eingabedaten. Alle verwenden denselben Schlüsseltyp TR31 \$1C0\$1CARD\$1VERIFICATION\$1KEY, es wird jedoch empfohlen, für jeden Zweck separate Schlüssel zu verwenden. Diese können anhand von Alias-Tags unterschieden werden, wie im Beispiel unten. and/or 

## Erstellen Sie den Schlüssel
<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"}]'
```

Die Antwort gibt die Anforderungsparameter zurück, einschließlich eines ARN für nachfolgende Aufrufe sowie eines Key Check Value (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"
            }
        }
```

Notieren Sie sich den Wert, der den Schlüssel darstellt`KeyArn`, zum Beispiel *arn:aws:payment-cryptography:us-east* - 2:111122223333:key/r52o3wbqxyf6qlqr. Das benötigen Sie im nächsten Schritt.

## Generieren Sie einen CVV
<a name="use-cases-issuers.generalfunctions.cvv.generate"></a>

**Example**  
In diesem Beispiel generieren wir einen [CVV](terminology.md#terms.cvv) für eine bestimmte PAN mit Eingaben von`PAN`, einem Servicecode (wie in ISO/IEC 7813 definiert) von 121 und dem Ablaufdatum der Karte.   
Alle verfügbaren Parameter finden Sie unter [CardVerificationValue1](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_CardVerificationValue1.html) im API-Referenzhandbuch.   

```
$ 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 validieren
<a name="use-cases-issuers.generalfunctions.cvv.verify"></a>

**Example**  
In diesem Beispiel verifizieren wir einen [CVV](terminology.md#terms.cvv) für eine bestimmte PAN mit Eingaben eines CVK, eines Servicecodes von 121`PAN`, des Kartenablaufdatums und des CVV, das während der Transaktion zur Validierung angegeben wurde.   
Alle verfügbaren Parameter finden Sie unter [CardVerificationValue1](https://docs.aws.amazon.com/payment-cryptography/latest/DataAPIReference/API_CardVerificationValue1.html) im API-Referenzhandbuch.   
CVV ist kein vom Benutzer eingegebener Wert (like CVV2), sondern ist normalerweise in einen Magnetstreifen eingebettet. Es sollte geprüft werden, ob es immer validiert werden sollte, wenn es bereitgestellt wird.

```
$ 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"
}
```