

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.

# Überprüfen Sie die PIN-Daten
<a name="verify-pin-data"></a>

Die Funktionen zur Überprüfung der PIN-Daten werden verwendet, um zu überprüfen, ob eine PIN korrekt ist. Dabei wird in der Regel der zuvor gespeicherte PIN-Wert mit dem verglichen, den der Karteninhaber an einem POI eingegeben hat. Diese Funktionen vergleichen zwei Werte, ohne den zugrunde liegenden Wert einer der beiden Quellen offenzulegen. 

## Überprüfen Sie die verschlüsselte PIN mit der PVV-Methode
<a name="verify-pin-data.pvv-example"></a>

**Example**  
In diesem Beispiel validieren wir eine PIN für eine bestimmte PAN. Die PIN wird in der Regel vom Karteninhaber oder Benutzer während der Transaktion zur Validierung bereitgestellt und mit dem in der Datei hinterlegten Wert verglichen (die Eingabe des Karteninhabers wird als verschlüsselter Wert vom Terminal oder einem anderen Upstream-Anbieter bereitgestellt). Um diese Eingabe zu validieren, werden zur Laufzeit auch die folgenden Werte bereitgestellt: Der Schlüssel, mit dem die eingegebene PIN verschlüsselt wurde (dies ist häufig eine`IWK`), `PAN` und der Wert, anhand dessen überprüft werden soll (entweder ein `PVV` oder). `PIN offset`   
Wenn AWS Payment Cryptography die PIN validieren kann, wird ein http/200 zurückgegeben. Wenn die PIN nicht validiert wird, wird ein http/400 zurückgegeben.  

```
$ aws payment-cryptography-data verify-pin-data --verification-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0  --verification-attributes VisaPin="{PinVerificationKeyIndex=1,VerificationValue=5507}" --encrypted-pin-block AC17DC148BDA645E 
```

```
        {
            "VerificationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2",
            "VerificationKeyCheckValue": "7F2363",
            "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt",
            "EncryptionKeyCheckValue": "7CC9E2",
    
        }
```

## Überprüfen Sie die verschlüsselte PIN mit der PVV-Methode — Fehler: ungültige PIN
<a name="verify-pin-data.pvv-example.badpin"></a>

**Example**  
In diesem Beispiel versuchen wir, eine PIN für eine bestimmte PAN zu validieren, was jedoch fehlschlägt, da die PIN falsch ist.   
Bei der Verwendung wird SDKs Folgendes angezeigt: \$1"Nachricht“ :"Die Überprüfung des Pin-Blocks ist fehlgeschlagen.“ , "Grund“ :"INVALID\$1PIN "\$1  

```
$ aws payment-cryptography-data verify-pin-data --verification-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0  --verification-attributes VisaPin="{PinVerificationKeyIndex=1,VerificationValue=9999}" --encrypted-pin-block AC17DC148BDA645E 
```

```
        An error occurred (VerificationFailedException) when calling the VerifyPinData operation: Pin block verification failed. 
```

## Überprüfen Sie die verschlüsselte PIN mit der PVV-Methode — Fehler bei fehlerhaften Eingaben
<a name="verify-pin-data.pvv-example.badkey"></a>

**Example**  
In diesem Beispiel versuchen wir, eine PIN für eine bestimmte PAN zu validieren, was jedoch aufgrund fehlerhafter Eingaben fehlschlägt und die eingehenden Daten keine gültige PIN waren. Die häufigsten Ursachen sind: 1/falscher Schlüssel verwendet 2/Eingabeparameter wie Pan oder Pin-Block-Format sind falsch 3/Pin-Block ist beschädigt.   

```
$ aws payment-cryptography-data verify-pin-data --verification-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier  --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0  --verification-attributes VisaPin="{PinVerificationKeyIndex=1,VerificationValue=9999}" --encrypted-pin-block AC17DC148BDA645E 
```

```
        An error occurred (ValidationException) when calling the VerifyPinData operation: Pin block provided is invalid. Please check your input to ensure all field values are correct.
```

# Überprüfen Sie eine PIN anhand des zuvor gespeicherten Pinversatzes IBM3624
<a name="verify-pin-data.ibm3624-example"></a>

In diesem Beispiel werden wir die von einem Karteninhaber eingegebene PIN mit dem PIN-Offset vergleichen, der in der Datei beim Kartenaussteller/-verarbeiter gespeichert ist. Die Eingaben sind ähnlich wie [Generiert den IBM3624 Pin-Offset für einen Pin](generate-ibm3624.md) bei der zusätzlichen verschlüsselten PIN, die vom Zahlungsterminal (oder einem anderen Upstream-Anbieter wie dem Kartennetzwerk) bereitgestellt wird. Wenn die PIN übereinstimmt, gibt die API http 200 zurück, wobei die Ausgaben verschlüsselt sind `PIN block` (PinData. PinBlock) und einen `IBM3624` Offsetwert (pinData.Offset). 

 Dieser Befehl erfordert, dass der Schlüssel zur PIN-Generierung vom Typ `TR31_V1_IBM3624_PIN_VERIFICATION_KEY` und der Verschlüsselungsschlüssel vom Typ `TR31_P0_PIN_ENCRYPTION_KEY` 

**Example**  

```
$ aws payment-cryptography-data generate-pin-data --generation-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0 --generation-attributes Ibm3624RandomPin="{DecimalizationTable=9876543210654321,PinValidationDataPadCharacter=D,PinValidationData=171234567890123}"
```

```
{
"GenerationKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2",
"GenerationKeyCheckValue": "7F2363",
"EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt",
"EncryptionKeyCheckValue": "7CC9E2",
"EncryptedPinBlock": "AC17DC148BDA645E",
"PinData": {
  "PinOffset": "5507"
}
}
```