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
.