Como assinar XML com NodeJS?

2,121 views
Skip to first unread message

Vinicius Guerrero

unread,
Jul 26, 2016, 5:31:23 PM7/26/16
to Node.js Brasil
Estou com um certificado digital formato .pfx e preciso criar um assinador de xml da NFe, alguém sabe como posso fazer isso? Como efetuar a leitura do arquivo em buffer e criar o método que assina a tag?
Desde já obrigado!

Augusto

unread,
Jul 27, 2016, 10:59:35 PM7/27/16
to nod...@googlegroups.com
Dá uma olhada neste gist:

https://gist.github.com/abernardobr/93f08c2a751225afe2c27a60adba1f47


Espero que ajude.

Abs,

Augusto Pissarra




On 7/26/16, 18:28, "Vinicius Guerrero" <nod...@googlegroups.com on behalf of vini.ts....@gmail.com> wrote:

>Estou com um certificado digital formato .pfx e preciso criar um assinador de xml da NFe, alguém sabe como posso fazer isso? Como efetuar a leitura do arquivo em buffer e criar o método que assina a tag?
>Desde já obrigado!
>
>--
>Você está recebendo esta mensagem porque se inscreveu no grupo "Node.js Brasil" dos Grupos do Google.
>Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nodebr+un...@googlegroups.com.
>Para obter mais opções, acesse https://groups.google.com/d/optout.

Vinicius Guerrero

unread,
Aug 1, 2016, 3:15:23 PM8/1/16
to Node.js Brasil
Então, dei uma olhada na biblioteca do xml-crypto, sei que ele faz a assinatura a partir de .pem ou rsa.

O problema é que estou meio confuso em como fazer essa conversão do certificado .p12 ou .pfx para o .pem.
Estou desenvolvendo no momento em Windows ( futuro server linux )
Ainda estou sem o certificado do cliente para o desenvolvimento, mas essa parte da leitura e assintura é o que tenho mais urgência no momento.
Desde já, obrigado pela ajuda!

Eu poderia utilizar o readFileSync( passar o arquivo .p12 aqui ) ?
 var sig = new SignedXml()
    sig.addReference("//*[local-name(.)='book']")    
    sig.signingKey = fs.readFileSync("client.pem")
    sig.computeSignature(xml)
Reply all
Reply to author
Forward
0 new messages