AWS Payment Cryptography Ejemplos de planos de datos que utilizan AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de 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

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 funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar decrypt-data.

AWS CLI

Para descifrar el texto cifrado

En el siguiente decrypt-data ejemplo, se descifran los datos de texto cifrado mediante una clave simétrica. Para esta operación, la clave debe estar establecida en y KeyModesOfUse establecida en. Decrypt KeyUsage 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 Descifrar datos en la Guía del usuario AWS de criptografía de pagos.

  • Para API obtener más información, consulte la Referencia DecryptDatade AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar encrypt-data.

AWS CLI

Para cifrar datos

En el siguiente encrypt-data ejemplo, se cifran los datos de texto sin formato mediante una clave simétrica. Para esta operación, la clave debe estar establecida en Encrypt y KeyModesOfUse KeyUsage establecida en. 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 Cifrar datos en la Guía del usuario AWS de criptografía de pagos.

  • Para API obtener más información, consulte la Referencia EncryptDatade AWS CLI comandos.

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

AWS CLI

Para generar un CVV

El siguiente generate-card-validation-data ejemplo genera unCVV/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 Generar datos de tarjetas en la Guía del usuario AWS de criptografía de pagos.

En el siguiente ejemplo de código se muestra cómo usar generate-mac.

AWS CLI

Para generar un MAC

El siguiente generate-card-validation-data ejemplo genera un código de autenticación de mensajes basado en hash (HMAC) para la autenticación de los datos de la tarjeta mediante el algoritmo HMAC _ SHA256 y una clave de HMAC cifrado. La clave debe estar KeyUsage configurada 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 Generar MAC en la Guía del usuario AWS de criptografía de pagos.

  • Para API obtener más información, consulte GenerateMacla Referencia de AWS CLI comandos.

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

AWS CLI

Para generar un PIN

En el siguiente generate-card-validation-data ejemplo, se genera un nuevo aleatorio PIN mediante el PIN esquema Visa.

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 Generar PIN datos en la Guía del usuario AWS de criptografía de pagos.

  • Para API obtener más información, consulte GeneratePinDatala Referencia de AWS CLI comandos.

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

AWS CLI

Para volver a cifrar los datos con una clave diferente

En el siguiente re-encrypt-data ejemplo, se descifra el texto cifrado con una clave AES simétrica 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 Cifrar y descifrar datos en la Guía del usuario de criptografía de pagos.AWS

  • Para API obtener más información, consulte la Referencia de ReEncryptDatacomandos AWS CLI .

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

AWS CLI

Para traducir PIN datos

El siguiente translate-pin-data ejemplo traduce un PEK TDES cifrado PIN del PIN bloque ISO 0 al PIN bloque AES ISO 4 mediante el DUKPT algoritmo.

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 Traducir PIN datos en la Guía del usuario AWS de criptografía de pagos.

  • Para API obtener más información, consulte TranslatePinDatala Referencia de AWS CLI comandos.

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

AWS CLI

Para verificar una solicitud de autenticación

El siguiente verify-auth-request-cryptogram ejemplo 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 Verificar el criptograma de la solicitud de autenticación (ARQC) en la Guía del usuario de criptografía de AWS pagos.

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

AWS CLI

Para validar un CVV

El siguiente verify-card-validation-data ejemplo valida unCVV/CVV2para aPAN.

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 Verificar los datos de la tarjeta en la Guía del usuario AWS de criptografía de pagos.

En el siguiente ejemplo de código se muestra cómo usar verify-mac.

AWS CLI

Para verificar un MAC

El siguiente verify-mac ejemplo verifica un código de autenticación de mensajes basado en hash (HMAC) para la autenticación de los datos de la tarjeta mediante el algoritmo HMAC _ SHA256 y una clave de HMAC cifrado.

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 Verificar MAC en la Guía del usuario de criptografía AWS de pagos.

  • Para API obtener más información, consulte VerifyMacla Referencia de AWS CLI comandos.

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

AWS CLI

Para verificar un PIN

El siguiente verify-pin-data ejemplo valida a PIN para aPAN.

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 Verificar PIN datos en la Guía del usuario AWS de criptografía de pagos.

  • Para API obtener más información, consulte VerifyPinDatala Referencia de AWS CLI comandos.