As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Criptografar dados
A Encrypt Data API é usada para criptografar dados usando chaves de criptografia de dados simétricas e assimétricas, bem como chaves derivadas de DUKPT e EMV. Vários algoritmos e variações são compatíveis, incluindo TDES
, RSA
e AES
.
As entradas primárias são a chave de criptografia usada para criptografar os dados, os dados de texto simples no formato HexBinary a serem criptografados e os atributos de criptografia, como vetor e modo de inicialização, para cifras de bloco, como TDES. Os dados em texto simples precisam estar em múltiplos de 8 bytes paraTDES
, 16 bytes para AES
e o tamanho da chave no caso de. RSA
As entradas de chave simétricas (TDES, AES, DUKPT, EMV) devem ser preenchidas nos casos em que os dados de entrada não atendam a esses requisitos. A tabela a seguir mostra o tamanho máximo do texto simples para cada tipo de chave e o tipo de preenchimento que você define EncryptionAttributes
para as chaves RSA.
Tipo de preenchimento | RSA_2048 | RSA_3072 | RSA_4096 |
---|---|---|---|
OAEP SHA1 |
428 | 684 | 940 |
OAEP SHA256 |
380 | 636 | 892 |
OAEP SHA512 |
252 | 508 | 764 |
PKCS1 |
488 | 744 | 1000 |
None |
488 | 744 | 1000 |
As saídas primárias incluem os dados criptografados como texto cifrado no formato hexBinary e o valor da soma de verificação da chave de criptografia. Para obter detalhes sobre todas as opções disponíveis, consulte o Guia de API do Encrypt.
Exemplos
Criptografe dados usando a chave simétrica AES
nota
Neste exemplo, criptografaremos dados em texto simples usando uma chave simétrica que foi criada usando a CreateKeyOperação ou importada usando a Operação. ImportKey Para essa operação, a chave deve ter sido KeyModesOfUse definida como Encrypt
e KeyUsage definida comoTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY
. Consulte Chaves para operações criptográficas para obter mais opções.
$
aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 31323334313233343132333431323334 --encryption-attributes 'Symmetric={Mode=CBC}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "71D7AE", "CipherText": "33612AB9D6929C3A828EB6030082B2BD" }
Criptografe dados usando a chave DUKPT
Neste exemplo, criptografaremos dados em texto simples usando uma chave DUKPT. AWS Suportes de criptografia de pagamento TDES
e chaves AES
DUKPT. Para essa operação, a chave deve ter sido KeyModesOfUse definida como DeriveKey
e KeyUsage definida comoTR31_B0_BASE_DERIVATION_KEY
. Consulte Chaves para operações criptográficas para obter mais opções.
$
aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 31323334313233343132333431323334 --encryption-attributes 'Dukpt={KeySerialNumber=FFFF9876543210E00001}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "71D7AE", "CipherText": "33612AB9D6929C3A828EB6030082B2BD" }
Criptografe dados usando a chave simétrica derivada do EMV
Neste exemplo, criptografaremos dados de texto não criptografado usando uma chave simétrica derivada do EMV que já foi criada. Você pode usar um comando como esse para enviar dados para um cartão EMV. Para essa operação, a chave deve ter sido KeyModesOfUse definida como Derive
e KeyUsage definida como TR31_E1_EMV_MKEY_CONFIDENTIALITY
ouTR31_E6_EMV_MKEY_OTHER
. Consulte Chaves para operações criptográficas para obter mais detalhes.
$
aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 33612AB9D6929C3A828EB6030082B2BD --encryption-attributes 'Emv={MajorKeyDerivationMode=EMV_OPTION_A,PanSequenceNumber=27,PrimaryAccountNumber=1000000000000432,SessionDerivationData=02BB000000000000, InitializationVector=1500000000000999,Mode=CBC}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "71D7AE", "CipherText": "33612AB9D6929C3A828EB6030082B2BD" }
Criptografe dados usando uma chave RSA
Neste exemplo, criptografaremos dados em texto simples usando uma chave pública RSA que foi importada usando a operação. ImportKey Para essa operação, a chave deve ter sido KeyModesOfUse definida como Encrypt
e KeyUsage definida comoTR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION
. Consulte Chaves para operações criptográficas para obter mais opções.
Para esquemas de preenchimento como o PKCS #7 ou outros atualmente não compatíveis, aplique antes de chamar o serviço e selecione nenhum preenchimento ao omitir o indicador de preenchimento 'Asymmetric={}'
$
aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/thfezpmsalcfwmsg --plain-text 31323334313233343132333431323334 --encryption-attributes 'Asymmetric={PaddingType=OAEP_SHA256}'
{ "CipherText": "12DF6A2F64CC566D124900D68E8AFEAA794CA819876E258564D525001D00AC93047A83FB13 \ E73F06329A100704FA484A15A49F06A7A2E55A241D276491AA91F6D2D8590C60CDE57A642BC64A897F4832A3930 \ 0FAEC7981102CA0F7370BFBF757F271EF0BB2516007AB111060A9633D1736A9158042D30C5AE11F8C5473EC70F067 \ 72590DEA1638E2B41FAE6FB1662258596072B13F8E2F62F5D9FAF92C12BB70F42F2ECDCF56AADF0E311D4118FE3591 \ FB672998CCE9D00FFFE05D2CD154E3120C5443C8CF9131C7A6A6C05F5723B8F5C07A4003A5A6173E1B425E2B5E42AD \ 7A2966734309387C9938B029AFB20828ACFC6D00CD1539234A4A8D9B94CDD4F23A", "KeyArn": "arn:aws:payment-cryptography:us-east-1:111122223333:key/5dza7xqd6soanjtb", "KeyCheckValue": "FF9DE9CE" }