NFCe

De Conecto wiki
Revisão de 13h10min de 13 de novembro de 2014 por 192.168.0.105 (discussão)
Ir para navegação Ir para pesquisar

O Que é?

A NFC-e é um documento fiscal eletrônico com padrão técnico nacional, que substitui o uso do ECF na frente de caixa. O projeto propõe que toda transação originada em um ponto de venda, seja transmitida via Internet para a Secretaria da Fazenda de cada estado.

Como funciona

O software de PDV formata a informação da venda em um arquivo no formato XML, de acordo com o Schema do serviço a ser consumido. Em seguida, comunica-se com o WebService da SEFAZ através de uma conexão segura (SSL), aguardando o retorno de aceite ou recusa dos dados enviados.

Certificados

Para estabelecer uma conexão segura faz-se a necessidade de informar os certificados, as chaves, e as autoridade certificadora confiáveis, para que a informação enviada seja considerada confiável e, por fim, seja aceita pelo Servidor SEFAZ. Certificado do cliente (clcert) - extraido do certificado utilizando o comando:

 openssl pkcs12 -in certificado_Sistemas.pfx -out cert.pem -clcerts -nokeys -nodes

Chave do certificado (key) - extraido do certificado utilizando o comando:

 openssl pkcs12 -in certificado_Sistemas.pfx -out nfcek.pem -nocerts -nodes

Autoridade certificadora (CA): Para NFCe as autoridades certificadoras(ACs) encontram-se no Servidor, ou seja, na SEFAZ. É preciso obter a cadeia de certificados de cada SEFAZ, e, caso necessario, convertê-las. Para o exemplo da SEFAZ Amazonas a cadeia de certificados esta dividida em 3 arquivos[1]:

 raiz_v2.cer
 ac_certsign_g6.cer
 ac_certsign_mult_g5.cer

Para gerar os arquivos .pem[2]:

 openssl x509 -in raiz_v2.cer -out raiz_v2.pem
 openssl x509 -in ac_certsign_g6.cer -out ac_certsign_g6.pem
 openssl x509 -in ac_certsign_mult_g5.cer -out ac_certsign_mult_g5.pem

Por fim, concatenar todos os certificados da cadeia, para montar o arquivo cacert.pem:

 cat raiz_v2.pem > cacert.pem
 cat ac_certsign_g6.pem >> cacert.pem
 cat ac_certsign_mult_g5.pem >> cacert.pem