

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 지정된 카드에 대한 CVV 생성 또는 확인
<a name="use-cases-issuers.generalfunctions.cvv"></a>

[CVV](terminology.md#terms.cvv) 또는 CVV1은 전통적으로 카드 마그네틱 스트라이프에 포함된 값입니다. CVV2와 동일하지 않습니다(카드 소지자가 볼 수 있고 온라인 구매에 사용 가능).

첫 번째 단계는 키를 만드는 것입니다. 이 자습서에서는 [CVK](terminology.md#terms.cvk) 이중 길이 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**  
이 예제에서는 입력이 이고`PAN`, 서비스 코드(ISO/IEC 7813에서 정의)가 121이고 카드 만료 날짜가 인 지정된 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)이 아니지만 일반적으로 magstripe에 포함됩니다. 제공 시 항상 검증해야 하는지 여부를 고려해야 합니다.

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