RSA Cryptography

Saiba mais sobre o conector RSA Cryptography e como usá-lo na Digibee Integration Platform.

O RSA Cryptography criptografa e descriptografa com base no algoritmo RSA.

Parâmetros

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

Aba General

Parameter
Description
Default value
Data type

Account

Conta a ser utilizada pelo conector.

N/A

String

Crypto Operation

Tipos de operação disponíveis: Encrypt Fields, Decrypt Fields, Encrypt Payload, Decrypt Payload, Unwrap Key e Wrap Key.

Encrypt Fields

String

Fields To Encrypt/Decrypt

Campos a serem criptografados/descriptografados utilizando notação pontilhada (ex.: body.field1, body.field2, body).

a.test

String

Payload To Encrypt/Decrypt

Payload a ser criptografado/descriptografado utilizando notação pontilhada.

N/A

String

Secret Key

Chave secreta a ser encapsulada/desencapsulada utilizando notação pontilhada.

N/A

String

Operation Mode

Modo de operação a ser utilizado.

ECB

String

Padding

Usado em um bloco cifrado onde os blocos são preenchidos com bytes de padding (ex.: AES 128 bits utiliza 16 bytes de padding).

OAEPWithSHA-512AndMGF1Padding

String

Charset

Charset da chave fornecida do tipo string.

UTF-8

String

Encrypted Message As Hexa

Se ativada, a resposta da chave secreta será em formato hexadecimal; caso contrário, será em base64.

False

Boolean

Fail On Error

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

False

Booleano

Aba Documentation

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

Documentation

Seção para documentar qualquer informação necessária sobre a configuração do conector e regras de negócio.

N/A

String

Para criptografar ou encapsular, é necessário configurar uma conta com Public Key. As operações de criptografia também suportam a propriedade key via body com a respectiva chave.

Para descriptografar ou desencapsular, é necessário configurar uma conta com Private Key.

Informações adicionais sobre os parâmetros

Wrap e Unwrap Key

As operações de encapsulamento e desencapsulamento diferem ligeiramente das operações de criptografia e descriptografia. Quando você encapsula uma chave, não apenas a criptografa, mas também adiciona proteção de integridade para garantir que a chave não seja adulterada. Da mesma forma, quando você desencapsula uma chave, você a descriptografa enquanto valida sua integridade.

No conector RSA Cryptography, essas operações são projetadas para encapsular com segurança uma chave de sessão (ou secreta) para transferência por meio de outros conectores Digibee, garantindo tanto a confidencialidade quanto a integridade.

Como essas funcionalidades são experimentais, apenas uma configuração específica é atualmente suportada.

Para a operação Wrap Key

No campo Account, você deve selecionar uma chave pública de um par de chaves RSA de 2048 bits.

No campo Secret Key, você deve especificar uma chave AES de 256 bits proveniente do payload de entrada. Utilize a notação pontilhada para referenciar o campo correspondente.

Os valores serão criptografados no formato hexadecimal.

A operação de encapsulamento RSA será realizada com os seguintes parâmetros:

  • Operation Mode: ECB

  • Padding Scheme: OAEPWithSHA-256AndMGF1Padding

Para a operação Unwrap Key

No campo Account, você deve selecionar uma chave privada de um par de chaves RSA de 2048 bits.

No campo Secret Key, você deve especificar uma chave AES de 256 bits proveniente do payload de entrada. Utilize a notação pontilhada para referenciar o campo correspondente.

Os valores serão criptografados no formato hexadecimal.

A operação de desencapsulamento RSA será realizada com os seguintes parâmetros:

  • Operation Mode: ECB

  • Padding Scheme: OAEPWithSHA-256AndMGF1Padding

Fluxo de mensagens

Operação: Encrypt Fields

Entrada

{
    "operation": "encrypt_fields",
    "operationMode": "ECB",
    "padding": "OAEPWithSHA1AndMGF1Padding",
    "encryptedFields": "data,data1",
    "failOnError": true,
    "key": "PoeK/VBTcUyRHFkmWYjckbhsRLnZur6S83lKZ78V51EL3KlDNnPJZkdz+m7joRfOxFuEqU=" // Inform the Key parameter if the Account is not configured
}

Payload

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

Saída

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

Operação: Decrypt Fields

Entrada

{
    "operation": "decrypt_fields",
    "operationMode": "ECB",
    "padding": "OAEPWithSHA1AndMGF1Padding",
    "encryptedFields": "data,data1",
    "failOnError": true
}

Payload

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

Saída

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

Operação: Wrap Key

Payload

{
  "encryptedData": {
    "key": "D379C385D6234349046ABCFD42160E5B461E852A63F53B8FDA3B6ED044332E34"
  }
}

Saída

{
  "encryptedData": {
    "key": "1e9fbbe9f77020cd05318d71ae242c68ab62981cc40b0e88c42ad89bb24807e46c6589edbb81bc7271c3824d60c2fa754651325eb2510a7cd82125f4ca9356b0b48d2dea8e8348f68173eabecb096a4c41a4a852ec2fb7cd9b0381d080e9d1e09a0bb614d3bbf550e52fe4583a5fdd47623e13256c69ee434b6c44d2e90de89804f0e0ff1c83f25adeef9ae89e657b79d8270511b9be5ce56a8955b2c8c5356c9639e6556c12c208a58e2d30e554a51d3a45317de54ab7380482f2d9f6d70c0223594b39c1c2f6f1d28301cb128167946082085c6dbf89825b6fc41929380305d4a5009d85c97d3d08f9672e66e71188b02eb23dffcb40271f1bb7b4d2f4fd5b"
  }
}

Operação: Unwrap Key

Payload

{
  "encryptedData": {
    "key": "1e9fbbe9f77020cd05318d71ae242c68ab62981cc40b0e88c42ad89bb24807e46c6589edbb81bc7271c3824d60c2fa754651325eb2510a7cd82125f4ca9356b0b48d2dea8e8348f68173eabecb096a4c41a4a852ec2fb7cd9b0381d080e9d1e09a0bb614d3bbf550e52fe4583a5fdd47623e13256c69ee434b6c44d2e90de89804f0e0ff1c83f25adeef9ae89e657b79d8270511b9be5ce56a8955b2c8c5356c9639e6556c12c208a58e2d30e554a51d3a45317de54ab7380482f2d9f6d70c0223594b39c1c2f6f1d28301cb128167946082085c6dbf89825b6fc41929380305d4a5009d85c97d3d08f9672e66e71188b02eb23dffcb40271f1bb7b4d2f4fd5b"
  }
}

Saída

{
  "encryptedData": {
    "key": "D379C385D6234349046ABCFD42160E5B461E852A63F53B8FDA3B6ED044332E34"
  }
}

Atualizado