[Cascavel-pm] NFe: Assinatura digital em arquivos XML
Jorge Augusto Senger
jasenger em gmail.com
Terça Março 3 04:45:14 PST 2009
Olá pessoal,
Aqui na empresa, nosso sistema de emissão de notas fiscais eletrônicas está
indo bem.
Estamos utilizando o XML::Compile::Schema para criar os XMLs a partir dos
schemas fornecidos pelo fisco. O Daniel Ruoso me ajudou bastante a entender
o funcionamento deste módulo.
Agora que conseguimos adequar as informações para o que é exigido pelos
schemas, estamos com um novo desafio que gostaria de compartilhar com os
colegas: a assinatura eletrônica do arquivo. Alguém aqui já precisou fazer
isso?
Segundo o manual da NFe, os arquivos XML precisam tags que correspondem a
assinatura do documento, conforme um exemplo abaixo:
--------------------------------------
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="
http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="
http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference
URI="#NFe31060243816719000108550000000010001234567897">
<Transforms>
<Transform Algorithm="
http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<Transform Algorithm="
http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="
http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>vFL68WETQ+mvj1aJAMDx+oVi928=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>IhXNhbdL1F9UGb2ydVc5v/gTB/y6r0KIFaf5evUi1i
...</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIFazCCBFOgAwIBAgIQaHEfNaxSeOEvZGlVDANB ...
</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
--------------------------------------
Nós possuímos um certificado digital, que foi exportado para um arquivo do
tipo PKCS12 que já consegui ler usando Crypt::X509. Mas o que ainda não
entendi é como eu vou gerar os hashes a partir deste certificado. Alguém
pode me dar uma luz?
Obrigado desde já,
--
Jorge Augusto Senger
jasenger (at) gmail.com
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20090303/9603d9e3/attachment.html>
Mais detalhes sobre a lista de discussão Cascavel-pm