Asymmetric Cryptography

Saiba como criptografar ou descriptografar usando o componente Asymmetric Cryptography.

O Asymmetric Cryptography criptografa e descriptografa com base em keys públicas e privadas.

Parâmetros

Dê uma olhada nas opções de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB).

Parâmetro
Descrição
Valor padrão
Tipo de dado

Account

Conta a ser utilizada pelo componente. Contas suportadas: Public key ou Private key.

N/A

String

Crypto Operation

Tipos de operação disponíveis (Encrypt e Decrypt).

Encrypt

String

Fields To Encrypt/Decrypt

Campos a serem encriptados/decriptados utilizando uma notação com pontos (ex.: body.field1,body.field2,body).

body.field1,body.field2

String

Algorithm

Algoritmo a ser utilizado para criptografar/descriptografar dados.

RSA

String

Operation Mode

Modo de operação a ser utilizado.

ECB

String

Padding

Utilizado em um bloco de cifra no qual os blocos são preenchidos com bytes de padding (ex.: AES 128 bits utiliza 16 bytes de padding).

OAEPWithSHA1AndMGF1Padding

String

Fail On Error

Se a opção estiver ativada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".

N/A

Booleano

Para criptografar, você precisa configurar uma conta Public key ou passar a property key via body com a respectiva chave.

Para descriptografar, você precisa configurar uma conta Private key ou passar a property key via body com a respectiva chave.

Se a chave não foi configurada na conta, você precisa especificar na solicitação conforme o modelo abaixo:

{"encryptionKey": "-- THE FOLLOWING PUBLIC KEY--"}

Asymmetric Cryptography em Ação

KEY por ACCOUNT

Config

{
"operation": "encrypt",
"algorithm": "RSA",
"operationMode": "ECB",
"padding": "OAEPWithSHA1AndMGF1Padding",
"encryptedFields": "data,data1",
"failOnError": true
}

Payload

{
"data": someData,
"data1": someData1
}

Saída

{
"data": "RXZlbiBpZiBwZXJmZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH=",
"data1": "RXZlbiBpZifd441mZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH="
}

Config

{
"operation": "decrypt",
"algorithm": "RSA",
"operationMode": "ECB",
"padding": "OAEPWithSHA1AndMGF1Padding",
"encryptedFields": "data,data1",
"failOnError": true
}

Payload

{
"data": "RXZlbiBpZiBwZXJmZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH=",
"data1": "RXZlbiBpZifd441mZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH="
}

Saída

{
"data": someData,
"data1": someData1
}

KEY por REQUEST BODY

Config

{
"operation": "encrypt",
"algorithm": "RSA",
"operationMode": "ECB",
"padding": "OAEPWithSHA1AndMGF1Padding",
"encryptedFields": "data,data1",
"failOnError": true
}

Payload

{
"encryptionKey": "-- THE FOLLOWING PUBLIC KEY--"
"data": someData,
"data1": someData1
}

Saída

{
"data": "RXZlbiBpZiBwZXJmZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH=",
"data1": "RXZlbiBpZifd441mZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH="
}

Config

{
"operation": "decrypt",
"algorithm": "RSA",
"operationMode": "ECB",
"padding": "OAEPWithSHA1AndMGF1Padding",
"encryptedFields": "data,data1",
"failOnError": true
}

Payload

{
"encryptionKey": "-- THE FOLLOWING PRIVATE KEY--"
"data": "RXZlbiBpZiBwZXJmZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH=",
"data1": "RXZlbiBpZifd441mZWN0IGNyeXB0b2dyYXBoaWMgcm91dGluZXMgYXJlIH="
}

Atualizado