

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de [ejemplos de AWS Doc SDK](https://github.com/awsdocs/aws-doc-sdk-examples).

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# AWS Payment Cryptography Ejemplos de planos de datos que utilizan AWS CLI
<a name="cli_2_payment-cryptography-data_code_examples"></a>

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el AWS Command Line Interface uso de AWS Payment Cryptography Data Plane.

Las *acciones* son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

**Topics**
+ [Acciones](#actions)

## Acciones
<a name="actions"></a>

### `decrypt-data`
<a name="payment-cryptography-data_DecryptData_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `decrypt-data`.

**AWS CLI**  
**Descifrado de texto cifrado**  
El siguiente ejemplo de `decrypt-data` descifra los datos del texto cifrado mediante una clave simétrica. Para esta operación, la clave debe tener `KeyModesOfUse` configurado como `Decrypt` y `KeyUsage` configurado como `TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY`.  

```
aws payment-cryptography-data decrypt-data \
    --key-identifier {{arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h}} \
    --cipher-text {{33612AB9D6929C3A828EB6030082B2BD}} \
    --decryption-attributes '{{Symmetric={Mode=CBC}}}'
```
Salida:  

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h",
    "KeyCheckValue": "71D7AE",
    "PlainText": "31323334313233343132333431323334"
}
```
Para obtener más información, consulte [Decrypt data](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/decrypt-data.html) en la *Guía del usuario de AWS Payment Cryptography*.  
+  Para obtener más información sobre la API, consulte [DecryptData](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/payment-cryptography-data/decrypt-data.html)la *Referencia de AWS CLI comandos*. 

### `encrypt-data`
<a name="payment-cryptography-data_EncryptData_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `encrypt-data`.

**AWS CLI**  
**Cifrado de datos**  
En el siguiente ejemplo de `encrypt-data` se cifran los datos en texto plano mediante una clave simétrica. Para esta operación, la clave debe tener `KeyModesOfUse` configurado como `Encrypt` y `KeyUsage` configurado como `TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY`.  

```
aws payment-cryptography-data encrypt-data \
    --key-identifier {{arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h}} \
    --plain-text {{31323334313233343132333431323334}} \
    --encryption-attributes '{{Symmetric={Mode=CBC}}}'
```
Salida:  

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h",
    "KeyCheckValue": "71D7AE",
    "CipherText": "33612AB9D6929C3A828EB6030082B2BD"
}
```
Para obtener más información, consulte [Encrypt data](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/encrypt-data.html) en la *Guía del usuario de AWS Payment Cryptography*.  
+  Para obtener más información sobre la API, consulte [EncryptData](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/payment-cryptography-data/encrypt-data.html)la *Referencia de AWS CLI comandos*. 

### `generate-card-validation-data`
<a name="payment-cryptography-data_GenerateCardValidationData_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `generate-card-validation-data`.

**AWS CLI**  
**Generación de un CVV**  
El siguiente `generate-card-validation-data` ejemplo genera un CVV/CVV2.  

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

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h",
    "KeyCheckValue": "CADDA1",
    "ValidationData": "801"
}
```
Para obtener más información, consulte [Generate card data](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/generate-card-data.html) en la *Guía del usuario de AWS Payment Cryptography*.  
+  Para obtener información sobre la API, consulte la Referencia [GenerateCardValidationData](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/payment-cryptography-data/generate-card-validation-data.html)de *AWS CLI comandos*. 

### `generate-mac`
<a name="payment-cryptography-data_GenerateMac_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `generate-mac`.

**AWS CLI**  
**Generación de un MAC**  
El siguiente `generate-card-validation-data` ejemplo genera un código de autenticación de mensajes (HMAC) basado en hash para la autenticación de los datos de la tarjeta mediante el algoritmo HMAC\_ SHA256 y una clave de cifrado HMAC. La clave debe tener `KeyUsage` configurado en `TR31_M7_HMAC_KEY` y `KeyModesOfUse` en`Generate`.  

```
aws payment-cryptography-data generate-mac \
    --key-identifier {{arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h}} \
    --message-data {{"3b313038383439303031303733393431353d32343038323236303030373030303f33"}} \
    --generation-attributes {{Algorithm=HMAC_SHA256}}
```
Salida:  

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:123456789012:key/kwapwa6qaifllw2h,
    "KeyCheckValue": "2976E7",
    "Mac": "ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C"
}
```
Para obtener más información, consulte [Generate MAC](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/generate-mac.html) en la *Guía del usuario de AWS Payment Cryptography*.  
+  *Para obtener más información sobre la API, consulte la Referencia de comandos. [GenerateMac](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/payment-cryptography-data/generate-mac.html)AWS CLI * 

### `generate-pin-data`
<a name="payment-cryptography-data_GeneratePinData_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `generate-pin-data`.

**AWS CLI**  
**Generación de un PIN**  
En el siguiente ejemplo de `generate-card-validation-data`, se genera un nuevo PIN aleatorio mediante el esquema de Visa PIN.  

```
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 {{VisaPin={PinVerificationKeyIndex=1}}}
```
Salida:  

```
{
    "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": {
        "VerificationValue": "5507"
    }
}
```
Para obtener más información, consulte [Generate PIN data](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/generate-pin-data.html) en la *Guía del usuario de AWS Payment Cryptography*.  
+  Para obtener más información sobre la API, consulte [GeneratePinData](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/payment-cryptography-data/generate-pin-data.html)la *Referencia de AWS CLI comandos*. 

### `re-encrypt-data`
<a name="payment-cryptography-data_ReEncryptData_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `re-encrypt-data`.

**AWS CLI**  
**Cifrado de datos por segunda vez con una clave diferente**  
En el siguiente ejemplo de `re-encrypt-data`, se descifra el texto cifrado con una clave simétrica AES y se vuelve a cifrar con una clave única derivada por transacción (DUKPT).  

```
aws payment-cryptography-data re-encrypt-data \
    --incoming-key-identifier {{arn:aws:payment-cryptography:us-west-2:111122223333:key/hyvv7ymboitd4vfy}} \
    --outgoing-key-identifier {{arn:aws:payment-cryptography:us-west-2:111122223333:key/jl6ythkcvzesbxen}} \
    --cipher-text {{4D2B0BDBA192D5AEFEAA5B3EC28E4A65383C313FFA25140101560F75FE1B99F27192A90980AB9334}} \
    --incoming-encryption-attributes {{"Dukpt={Mode=ECB,KeySerialNumber=0123456789111111}"}} \
    --outgoing-encryption-attributes '{{{"Symmetric": {"Mode": "ECB"}}}}'
```
Salida:  

```
{
    "CipherText": "F94959DA30EEFF0C035483C6067667CF6796E3C1AD28C2B61F9CFEB772A8DD41C0D6822931E0D3B1",
    "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/jl6ythkcvzesbxen",
    "KeyCheckValue": "2E8CD9"
}
```
Para obtener más información, consulte [Encrypt and decrypt data](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/crypto-ops.encryptdecrypt.html) en la *Guía del usuario de AWS Payment Cryptography*.  
+  Para obtener más información sobre la API, consulte [ReEncryptData](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/payment-cryptography-data/re-encrypt-data.html)la *Referencia de AWS CLI comandos*. 

### `translate-pin-data`
<a name="payment-cryptography-data_TranslatePinData_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `translate-pin-data`.

**AWS CLI**  
**Traducción de datos PIN**  
En el siguiente ejemplo de `translate-pin-data`, se traduce un PIN de cifrado TDES PEK mediante un bloque de PIN ISO 0 a un bloque de PIN AES ISO 4 mediante el algoritmo DUKPT.  

```
aws payment-cryptography-data translate-pin-data \
    --encrypted-pin-block {{"AC17DC148BDA645E"}} \
    --incoming-translation-attributes=IsoFormat0='{PrimaryAccountNumber=171234567890123}' \
    --incoming-key-identifier {{arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt}} \
    --outgoing-key-identifier {{arn:aws:payment-cryptography:us-east-2:111122223333:key/4pmyquwjs3yj4vwe}} \
    --outgoing-translation-attributes IsoFormat4="{PrimaryAccountNumber=171234567890123}" \
    --outgoing-dukpt-attributes KeySerialNumber="FFFF9876543210E00008"
```
Salida:  

```
{
    "PinBlock": "1F4209C670E49F83E75CC72E81B787D9",
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt
    "KeyCheckValue": "7CC9E2"
}
```
Para obtener más información, consulte [Translate PIN data](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/translate-pin-data.html) en la *Guía del usuario de AWS Payment Cryptography*.  
+  Para obtener más información sobre la API, consulte [TranslatePinData](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/payment-cryptography-data/translate-pin-data.html)la *Referencia de AWS CLI comandos*. 

### `verify-auth-request-cryptogram`
<a name="payment-cryptography-data_VerifyAuthRequestCryptogram_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `verify-auth-request-cryptogram`.

**AWS CLI**  
**Verificación de una solicitud de autenticación**  
El siguiente ejemplo de `verify-auth-request-cryptogram` verifica un criptograma de solicitud de autorización (ARQC).  

```
aws payment-cryptography-data verify-auth-request-cryptogram \
    --auth-request-cryptogram {{F6E1BD1E6037FB3E}} \
    --auth-response-attributes '{{{"ArpcMethod1": {"AuthResponseCode": "1111"}}}}' \
    --key-identifier {{arn:aws:payment-cryptography:us-west-2:111122223333:key/pboipdfzd4mdklya}} \
    --major-key-derivation-mode {{"EMV_OPTION_A"}} \
    --session-key-derivation-attributes '{{{"EmvCommon": {"ApplicationTransactionCounter": "1234","PanSequenceNumber": "01","PrimaryAccountNumber": "471234567890123"}}}}' \
    --transaction-data {{"123456789ABCDEF"}}
```
Salida:  

```
{
    "AuthResponseValue": "D899B8C6FBF971AA",
    "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/pboipdfzd4mdklya",
    "KeyCheckValue": "985792"
}
```
Para obtener más información, consulte [Verify auth request (ARQC) cryptogram](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/data-operations.verifyauthrequestcryptogram.html) en la *Guía del usuario de AWS Payment Cryptography*.  
+  Para obtener más información sobre la API, consulte [VerifyAuthRequestCryptogram](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/payment-cryptography-data/verify-auth-request-cryptogram.html)la *Referencia de AWS CLI comandos*. 

### `verify-card-validation-data`
<a name="payment-cryptography-data_VerifyCardValidationData_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `verify-card-validation-data`.

**AWS CLI**  
**Validación de un CVV**  
El siguiente `verify-card-validation-data` ejemplo valida un CVV/ CVV2 para un PAN.  

```
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 {{801}}
```
Salida:  

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi",
    "KeyCheckValue": "CADDA1"
}
```
Para obtener más información, consulte [Verify card data](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/verify-card-data.html) en la *Guía del usuario de AWS Payment Cryptography*.  
+  *Para obtener más información sobre la API, consulte la Referencia de [VerifyCardValidationData](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/payment-cryptography-data/verify-card-validation-data.html)comandos AWS CLI .* 

### `verify-mac`
<a name="payment-cryptography-data_VerifyMac_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `verify-mac`.

**AWS CLI**  
**Verificación de un MAC**  
El siguiente `verify-mac` ejemplo verifica un código de autenticación de mensajes (HMAC) basado en hash para la autenticación de datos de tarjetas mediante el algoritmo HMAC\_ SHA256 y una clave de cifrado HMAC.  

```
aws payment-cryptography-data verify-mac \
    --key-identifier {{arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6}} \
    --message-data {{"3b343038383439303031303733393431353d32343038323236303030373030303f33"}} \
    --verification-attributes='Algorithm=HMAC_SHA256' \
    --mac {{ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C}}
```
Salida:  

```
{
    "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6,
    "KeyCheckValue": "2976E7",
}
```
Para obtener más información, consulte [Verify MAC](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/verify-mac.html) en la *Guía del usuario de AWS Payment Cryptography*.  
+  *Para obtener información sobre la API, consulte la Referencia de comandos. [VerifyMac](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/payment-cryptography-data/verify-mac.html)AWS CLI * 

### `verify-pin-data`
<a name="payment-cryptography-data_VerifyPinData_cli_2_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `verify-pin-data`.

**AWS CLI**  
**Comprobación de un PIN**  
En el siguiente ejemplo de `verify-pin-data`, se valida un PIN para un PAN.  

```
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}}
```
Salida:  

```
{
    "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",
}
```
Para obtener más información, consulte [Verify PIN data](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/verify-pin-data.html) en la *Guía del usuario de AWS Payment Cryptography*.  
+  Para obtener más información sobre la API, consulte [VerifyPinData](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/payment-cryptography-data/verify-pin-data.html)la *Referencia de AWS CLI comandos*. 