Digital Signature

Descubra mais sobre o componente Digital Signature e saiba como utilizá-lo na Digibee Integration Platform.

O Digital Signature assina e verifica mensagens com base em chaves públicas e privadas.

Parâmetros

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

ParâmetroDescriçãoValor padrãoTipo de dado

Account

Use este parâmetro para definir a conta a ser usada pelo conector.

N/A

String

Operation

Tipos de operação do componente (Sign Fields, Sign Payload ou Verify).

Sign Fields

String

Charset

Nome da codificação que faz a leitura do valor.

UTF-8

String

Hash Algorithm

Algoritmo a ser utilizado para assinar/verificar os dados (ex.: SHA256WithRSA).

SHA256WithRSA

String

Public Key Algorithm

Tipo do algoritmo de chave pública (ex.: RSA). Este campo fica disponível apenas quando Verify estiver selecionado no parâmetro Operation.

RSA

String

Hash (DB)

Base do tipo base64 ou hex a ser verificada em relação ao payload. Este campo fica disponível apenas quando Verify estiver selecionado no parâmetro Operation.

N/A

String

Sign Fields

Campos a serem assinados/verificados (devem ser separados por vírgula). Este campo fica disponível apenas quando Sign Fields estiver selecionado no parâmetro Operation.

parameter

String

Hash in Hexadecimal

Se a opção estiver ativada, o valor a ser verificado ou assinado deve ser fornecido no formato hex; do contrário, será assinada ou verificada como base64.

False

Booleano

Payload (DB)

Definido através de um valor único ou Double Braces. Este campo fica disponível apenas quando Sign Payload ou Verify estiverem selecionados no parâmetro Operation.

N/A

String

Fail On Error

Se a opção estiver habilitada, 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".

False

Booleano

Importante: para assinar, você precisa configurar uma account PRIVATE_KEY ou enviar a propriedade da chave via body. Para verificar, você precisa configurar uma account PUBLIC_KEY ou enviar a propriedade da chave via body.

Digital Signature em Ação

Operação Sign Fields

1. Na sua paleta de componentes, selecione o Digital Signature.

2. Abra as configurações do componente.

3. No campo Operation, selecione Sign Fields.

4. Insira as seguintes especificações nos campos indicados:

  • Sign Fields: parameter

  • Hash Algorithm: SHA256WithRSA

5. Mantenha as opções Hash in Hexadecimal e Fail On Error ativadas.

6. Clique em Confirmar.

7. Faça o deploy do pipeline.

8. O pipeline vai receber um payload como este:

{"parameter": "Test for encryption"}

9. O resultado do teste executado vai aparecer conforme demonstrado abaixo:

{
"parameter": "....032281762E01B6C50C1DE825A2FD5A177CCFD5C1DB54E88ADD188A0B80311E672EDE5F8B......"
}

Operação Sign Payload

1. Na sua paleta de componentes, selecione o Digital Signature.

2. Abra as configurações do componente.

3. No campo Operation, selecione Sign Payload.

4. Insira as seguintes especificações nos campos indicados:

  • Payload: [{ \"result\": \"{{ message.$.parameter }}\"}]

  • Hash Algorithm: SHA256WithRSA

5. Mantenha as opções Hash in Hexadecimal e Fail On Error ativadas.

6. Clique em Confirmar.

7. Faça o deploy do pipeline.

8. O resultado do teste executado vai aparecer conforme demonstrado abaixo:

{
"result": "....032281762E01B6C50C1DE825A2FD5A177CCFD5C1DB54E88ADD188A0B80311E672EDE5F8B......"
}

Operação Verify

1. Na sua paleta de componentes, selecione o Digital Signature.

2. Abra as configurações do componente.

3. No campo Operation, selecione Verify.

4. Insira as seguintes especificações nos campos indicados:

  • Sign Fields: {{ message.$.signed }}

  • Parameter: {{ message.$.rawData }}

  • Hash Algorithm: SHA256WithRSA

  • Public Key Algorithm: RSA

5. Mantenha as opções Hash in Hexadecimal e Fail On Error ativadas.

6. Clique em Confirmar.

7. Faça o deploy do pipeline.

8. O pipeline vai receber um payload como este:

{
"rawData": "Test for encryption",
"signed": "...032281762E01B6C50C1DE825A2FD5A177CCFD5C1DB54E...."
}

9. O resultado do teste executado vai aparecer conforme demonstrado abaixo:

{
"success": true
}

Atualizado