quinta-feira, 10 de julho de 2008

NFe-Assinatura Digital

Assinatura Digital

* Esta FAQ está disponivel no blog: http://nf-eletronica.com/blog/

  1. O que é assinatura digital?

    A assinatura digital é um processo informático que permite verificar a integridade e a autoria do documento eletrônico, ou seja, é o mecanismo que permite identificar quem é o autor do documento eletrônico e se o mesmo não foi modificado.

  2. Em quais situações devo realizar a Assinatura Digital?

    O Projeto da NF-e é baseado no conceito de Documento Eletrônico. Assim, os seguintes documentos eletrônicos que representam uma manifestação de vontade do emissor devem ser assinados digitalmente:

    1. NF-e;
    2. Pedido de cancelamento de NF-e;
    3. Pedido de inutilização de numeração de NF-e;
    4. Carta de Correção eletrônica de NF-e (ainda não regulamentado);

  3. Como é realizada a assinatura digital?

    O processo de assinatura digital consiste em:

    1. cálculo do resumo da mensagem (Hash Code) do documento eletrônico;
    2. criptografia do resumo da mensagem com a chave privada do certificado digital do autor do documento eletrônico que resulta na assinatura digital.

    O processo de verificação da assinatura digital consiste em:

    1. cálculo do resumo da mensagem (Hash Code) do documento eletrônico;
    2. descriptografia da assinatura digital com a chave pública do certificado digital do autor do documento eletrônico;
    3. se o resumo da mensagem do documento eletrônico for idêntico ao resultado da descriptografia da assinatura digital com a chave pública do autor do documento eletrônico, a integridade e a autoria do documento eletrônica está garantida.

  4. Qual o padrão de assinatura digital adotado pelo Projeto NF-e?

    O Projeto NF-e utiliza um subconjunto do padrão de assinatura digital XML definido pelo http://www.w3.org/TR/xmldsig-core/, com as seguintes características:

    a) Padrão de assinatura: “XML Digital Signature”, utilizando o formato “Enveloped” (http://www.w3.org/TR/xmldsig-core/);
    b) Certificado digital: Emitido por AC credenciada no ICP-Brasil (http://www.w3.org/2000/09/xmldsig#X509Data);
    c) Cadeia de Certificação: EndCertOnly (Incluir na assinatura apenas o certificado do usuário final);
    d) Tipo do certificado: X509v3;
    e) Tamanho da Chave Criptográfica: Compatível com os certificados A1 e A3 (1024 bits);
    f) Função criptográfica assimétrica: RSA (http://www.w3.org/2000/09/xmldsig#rsa-sha1);
    g) Função de “message digest”: SHA-1 (http://www.w3.org/2000/09/xmldsig#sha1);
    h) Codificação: Base64 (http://www.w3.org/2000/09/xmldsig#base64);
    i) Transformações exigidas:
    (1) Enveloped (http://www.w3.org/2000/09/xmldsig#enveloped-signature)
    (2) C14N (http://www.w3.org/TR/2001/REC-xml-c14n-20010315)

  5. Como implemento o processo de assinatura digital XML em meu aplicativo emissor de NF-e?

    A assinatura digital é baseada no uso de certificado digital, sendo imprescindível que o ambiente de desenvolvimento da aplicação ofereça o suporte ao uso de certificados digitais X509 e principalmente o suporte à assinatura digital XML.

    Os desenvolvedores que utilizam linguagens mais tradicionais como COBOL, Delphi 5, 6 e 7, VB 5.0/6.0, C++, etc., baseadas em Win32, terão maior dificuldade de implementar a assinatura digital XML nestas linguagens pela ausência de suporte nativo. Uma solução é o uso de DLL em .NET para suprir esta dificuldade sem necessidade de aquisição de componentes de terceiros ou migração de linguagem.

    O framework .NET 2.0 e o Java oferecem suporte nativo para Assinatura Digital XML, facilitando a vida dos desenvolvedores da plataforma .NET (C#, VC, C++, Delphi, etc.) e da plataforma Java.


Seguranca Digital

- A segurança digital é um dos assuntos mais comentados e estudados nos últimos anos. A série ISO 2000:2005 trata dos padrões e certificações sobre segurança.
- Graças a possibiliadade de assinar digitalmente um documento, de forma segura e com validade jurídica, as organizações revoluocinam as formas de tramitação de documentos e integração entre sistemas de informações. A Nfe - Nota Fiscal Eletrônica é um grande exemplo disso. O Site mhavila tem muita informações sobre este assunto. Leia mais...


Validando uma NFe:
* Público em Geral / Nota Fiscal Eletrônica / Validador de mensagens do Projeto NF-e
* Programa feito pelo www.sefaz.rs.gov.br Rio Grande do SUL - NFE/NFE-VAL

Nota Fiscal Eletrônica
* Exemplo de uma NFe assinada


Um comentário:

BrainDumper disse...

o link para o exemplo está quebrado... :///