Pular para o conteúdo principal

Aplicação de Algoritmo Criptográfico

Introdução

Esta seção descreve os passos da segunda etapa do fluxo de assinatura.

Certifique-se de que o LedgerSign está instalado e com algum certificado digital devidamente importado.

A segunda etapa do fluxo de assinatura consiste na aplicação de algoritmo criptográfico com a chave privada associada ao certificado digital escolhido. Como resultado desse processo, o LedgerSign devolverá um output chamado signature. Esse valor deverá ser enviado para o endpoint de finalização (etapa 3) no campo signatureValue.

Exemplo de utilização para aplicação de algoritmo criptográfico

O exemplo de código abaixo mostra a utilização da biblioteca de integração para aplicação de algoritmo criptográfico sobre o conteúdo de um documento. Obs. O conteúdo do documento está codificado em base64 no campo dataToSign. Deve ser informado o valor retornado em campo de mesmo nome no retorno do endpoint de inicialização.

import Signer, { isError } from 'sign-assistant-extension';
import toast from './toast';

const signer = new Signer({
key: "",
id: "ledger",
})

const signWithFirstCertificate = async () => {
const certificates = await signer.getCertificates() // retorna erro se extensão ou sign assistant não encontrados

const dataToSign = 'Q1VTVE9NIENPTlRFTlQ='
const dataToSignArray = [{
dataToSign, // <- hash para assinar recebido pela primeira etapa da assinatura
key: 1,
}]
const certificate = certificates[0]
const signResponse = await signer.sign({ dataToSignArray, certificate })

if (isError(signResponse)) {
toast(signResponse.error)
return
}
console.log({ signature: signResponse[0].signature })
}

signWithFirstCertificate()

Conforme mencionado anteriormente, o LedgerSign devolve um output chamado signature. Este valor está presente no objeto Signature (o método de aplicação de algorítmo criptográfico retorna um array de Signatures) e deve ser enviado para o endpoint de finalização (etapa 3) no campo signatureValue.