> For the complete documentation index, see [llms.txt](https://docs.digibee.com/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/security/rsa-cryptography.md).

# RSA Cryptography

O conector **RSA Cryptography** realiza criptografia e descriptografia com base no algoritmo RSA.

## **Parâmetros**

Configure o conector utilizando os parâmetros abaixo. Os campos que suportam [expressões Double Braces](/documentation/connectors-and-triggers/pt-br/double-braces/overview.md) estão marcados na coluna **Suporta DB**.

{% tabs %}
{% tab title="General" %}

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="112">Parâmetro</th><th width="231">Descrição</th><th width="83">Tipo de dado</th><th width="81">Suporta DB</th><th width="100">Valor padrão</th><th width="135">Visível quando</th></tr></thead><tbody><tr><td><strong>Use Dynamic Account</strong></td><td>Se habilitado, o conector usa a conta de forma dinâmica via o conector <a href="/pages/iulYYuz29bvfGjceZb4e"><strong>Store Account</strong></a>; caso contrário, usa a conta estática configurada em <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/fS1QLzAg8rGSSJFwtrvy"><strong>Contas</strong></a> na Plataforma.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Scoped</strong></td><td>Se habilitado, isola a conta armazenada de outros subprocessos. Não é suportado para contas usadas em headers ou body. Para saber mais, consulte a <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/FrKJOmsImCRBImMPMsU2">documentação de Dynamic Accounts</a>.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td><strong>Use Dynamic Account</strong> está habilitado</td></tr><tr><td><strong>Account Name</strong></td><td>Nome da conta definida no conector <a href="/pages/iulYYuz29bvfGjceZb4e"><strong>Store Account</strong></a>.</td><td>String</td><td>✅</td><td>N/A</td><td><strong>Use Dynamic Account</strong> está habilitado</td></tr><tr><td><strong>Account</strong></td><td>Conta a ser usada pelo conector. As operações de encrypt e wrap exigem uma conta do tipo <strong>Public Key</strong>; as operações de decrypt e unwrap exigem uma conta do tipo <strong>Private Key</strong>. As operações de encrypt também suportam o fornecimento da chave diretamente no corpo da mensagem. A configuração da conta é feita em <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/fS1QLzAg8rGSSJFwtrvy"><strong>Contas</strong></a> na Plataforma.</td><td>String</td><td>❌</td><td>N/A</td><td><strong>Use Dynamic Account</strong> está desabilitado</td></tr><tr><td><strong>Crypto Operation</strong></td><td>Define o tipo de operação a ser executada: <strong>Encrypt Fields</strong>, <strong>Decrypt Fields</strong>, <strong>Encrypt Payload</strong>, <strong>Decrypt Payload</strong>, <strong>Unwrap Key</strong> ou <strong>Wrap Key</strong>.</td><td>String</td><td>❌</td><td><code>Encrypt Fields</code></td><td>—</td></tr><tr><td><strong>Fields To Encrypt/Decrypt</strong></td><td>Campos a serem criptografados ou descriptografados, especificados usando notação com pontos (ex.: <code>body.field1</code>, <code>body.field2</code>, <code>body</code>).</td><td>String</td><td>❌</td><td><code>a.test</code></td><td><strong>Crypto Operation</strong> é <strong>Encrypt Fields</strong> ou <strong>Decrypt Fields</strong></td></tr><tr><td><strong>Payload To Encrypt/Decrypt</strong></td><td>Payload a ser criptografado ou descriptografado, especificado usando notação com pontos.</td><td>String</td><td>❌</td><td>N/A</td><td><strong>Crypto Operation</strong> é <strong>Encrypt Payload</strong> ou <strong>Decrypt Payload</strong></td></tr><tr><td><strong>Secret Key</strong></td><td>Chave secreta a ser encapsulada (wrap) ou desencapsulada (unwrap), especificada usando notação com pontos.</td><td>String</td><td>❌</td><td>N/A</td><td><strong>Crypto Operation</strong> é <strong>Wrap Key</strong> ou <strong>Unwrap Key</strong></td></tr><tr><td><strong>Operation Mode</strong></td><td>Modo de operação a ser utilizado na operação criptográfica.</td><td>String</td><td>❌</td><td><code>ECB</code></td><td><strong>Crypto Operation</strong> é <strong>Encrypt Fields</strong>, <strong>Decrypt Fields</strong>, <strong>Encrypt Payload</strong> ou <strong>Decrypt Payload</strong></td></tr><tr><td><strong>Padding</strong></td><td>Esquema de padding usado em operações de cifra de bloco para preencher os blocos com bytes de padding (ex.: AES 128 bits usa 16 bytes de padding).</td><td>String</td><td>❌</td><td><code>OAEPWithSHA-512AndMGF1Padding</code></td><td>—</td></tr><tr><td><strong>Charset</strong></td><td>Codificação de caracteres da chave fornecida quando o tipo de chave é string.</td><td>String</td><td>❌</td><td><code>UTF-8</code></td><td>—</td></tr><tr><td><strong>Encrypted Message As Hexa</strong></td><td>Se habilitado, retorna a resposta da secret key em formato hexadecimal; caso contrário, é retornada em formato Base64.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Fail On Error</strong></td><td>Se habilitado, interrompe a execução do pipeline quando ocorre um erro. Caso contrário, a execução prossegue e o resultado retorna <code>false</code> para a propriedade <code>"success"</code>.</td><td>Boolean</td><td>❌</td><td><code>false</code></td><td>—</td></tr></tbody></table>

{% endtab %}

{% tab title="Documentation" %}

| Parameter         | Descrição                                                                                          | Tipo   | Supports DB | Default |
| ----------------- | -------------------------------------------------------------------------------------------------- | ------ | ----------- | ------- |
| **Documentation** | Campo opcional para descrever a configuração do conector e quaisquer regras de negócio relevantes. | String | ❌           | N/A     |
| {% endtab %}      |                                                                                                    |        |             |         |
| {% endtabs %}     |                                                                                                    |        |             |         |

## **Informações adicionais dos parâmetros**

### **Wrap e Unwrap Key**

As operações de wrap e unwrap diferem um pouco das operações padrão de encrypt e decrypt. Ao **fazer o wrap de uma chave**, você não apenas a criptografa, mas também adiciona proteção de integridade para garantir que a chave não tenha sido adulterada. Da mesma forma, ao **fazer o unwrap de uma chave**, você a descriptografa validando simultaneamente 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 através de outros conectores da Digibee, garantindo tanto confidencialidade quanto integridade.

Por serem funcionalidades experimentais, atualmente apenas uma configuração específica é suportada.

#### **Para a Crypto Operation Wrap Key**

No campo **Account**, selecione uma chave pública de um par de chaves RSA de 2048 bits.

No campo **Secret Key**, especifique uma chave AES de 256 bits a partir do payload de entrada. Use notação com pontos para referenciar o respectivo campo da chave.

Os valores são criptografados em formato hexadecimal.

A operação de wrap RSA é realizada com os seguintes parâmetros:

* **Operation Mode**: ECB
* **Padding Scheme**: OAEPWithSHA-256AndMGF1Padding

#### **Para a Crypto Operation Unwrap Key**

No campo **Account**, selecione uma chave privada de um par de chaves RSA de 2048 bits.

No campo **Secret Key**, especifique uma chave AES de 256 bits a partir do payload de entrada. Use notação com pontos para referenciar o respectivo campo da chave.

Os valores são criptografados em formato hexadecimal.

A operação de unwrap RSA é realizada com os seguintes parâmetros:

* **Operation Mode**: ECB
* **Padding Scheme**: OAEPWithSHA-256AndMGF1Padding

## **Fluxo de mensagens**

### **Operation: Encrypt Fields**

#### **Entrada**

```json
{
    "operation": "encrypt_fields",
    "operationMode": "ECB",
    "padding": "OAEPWithSHA1AndMGF1Padding",
    "encryptedFields": "data,data1",
    "failOnError": true,
    "key": "PoeK/VBTcUyRHFkmWYjckbhsRLnZur6S83lKZ78V51EL3KlDNnPJZkdz+m7joRfOxFuEqU=" // Informe o parâmetro Key caso a Account não esteja configurada
}
```

#### **Payload**

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

#### **Saída**

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

### **Operation: Decrypt Fields**

#### **Entrada**

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

#### **Payload**

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

#### **Saída**

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

### **Operation: Wrap Key**

#### **Payload**

```json
{
  "encryptedData": {
    "key": "D379C385D6234349046ABCFD42160E5B461E852A63F53B8FDA3B6ED044332E34"
  }
}
```

#### **Saída**

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

### **Operation: Unwrap Key**

#### **Payload**

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

#### **Saída**

```json
{
  "encryptedData": {
    "key": "D379C385D6234349046ABCFD42160E5B461E852A63F53B8FDA3B6ED044332E34"
  }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/security/rsa-cryptography.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
