

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\$1 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 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\$1 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 más 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*. 