Autenticação mútua SSL em servidores de NF-e e CT-e

Como fazer autenticação mútua nos servidores das SEFAZ estaduais para emissão de NF-e e CT-e, usando o certificado digital A1 e o certificado raiz da entidade certificadora.

[ Hits: 23.079 ]

Por: Arnaldo Luiz Estevao em 03/09/2012


Explicação e pré-requisitos



Tanto o manual do CT-e como o da NF-e, informam:
"O meio físico de comunicação utilizado será a Internet, com o uso do protocolo SSL versão 3.0, com autenticação mútua, que, além de garantir um duto de comunicação seguro na Internet, permite a identificação do servidor e do cliente por meio de certificados digitais, eliminando a necessidade de identificação do usuário mediante nome ou código de usuário e senha."

Fontes:
Este artigo explica como extrair os certificados necessários em formato PEM, e como passar os parâmetros para a lib cURL, de modo a prover esta dupla autenticação.

Pré-requisitos

As cadeias de certificação digital dos servidores, no meu caso, fiz download:
Antes de continuar, você precisará extrair as chaves do seu certificado A1 para o formato PEM, veja como fazer isso neste link:
* Atenção: Antes de continuar, tenha em mente que CAfile e CApath, são métodos opcionais, escolha entre um ou outro.

    Próxima página

Páginas do artigo
   1. Explicação e pré-requisitos
   2. Autenticações
   3. CURL lib setopt (Perl e PHP) e Wget
Outros artigos deste autor

Phperl, minha gambiarra para usar Perl como se fosse PHP

Impressão remota via WEB

XML de NF-e ou CT-e ou MDF-e - Como validar usando os pacotes de esquemas do Governo

Instalando Slackware 11.0 em um pendrive

Leitura recomendada

Introdução a CGI com a RFC 3875

Programando em Perl (parte 2)

Módulos de Web no Perl

Instalação de MRTG em ambiente Windows

Perl e MySQL

  
Comentários
[1] Comentário enviado por Ragen em 06/09/2012 - 18:12h

Parabéns Arnaldo,

Resolveu meu problema para fazer download do XML pela chave.

Abs

[2] Comentário enviado por teccert em 12/09/2012 - 12:31h

Ótimo artigo!
No entanto meu problema é o driver do Etoken USB da Alladin (certificado digital) que não existe para o ubuntu 12.04, eu tinha instalado no ubuntu 10.04; sendo assim estou esperando que um haker chegue com a solução.

[3] Comentário enviado por lesandro em 27/03/2015 - 10:13h


olá,
estou tentando baixar xml do sefaz SC
pelo navegador consigo baixar normalmente https://tributario.sef.sc.gov.br/tax.NET/tax.Net.NFE/ssl/Nfe_DownloadXml.ashx?id=42140200460986000506550040000164481000164489&amp=PROD">https://tributario.sef.sc.gov.br/tax.NET/tax.Net.NFE/ssl/Nfe_DownloadXml.ashx?id=4214020046098600050...
tenho e-cnpj A1 instalado.

tentei o comando
wget https://tributario.sef.sc.gov.br/tax.NET/tax.Net.NFE/ssl/Nfe_DownloadXml.ashx?id=42140200460986000506550040000164481000164489&=PROD">https://tributario.sef.sc.gov.br/tax.NET/tax.Net.NFE/ssl/Nfe_DownloadXml.ashx?id=4214020046098600050... --no-check-certificate --ca-directory=capath --certificate=cl.pem --private-key=key.pem

a resposta:
--2015-03-27 10:14:28-- https://tributario.sef.sc.gov.br/tax.NET/tax.Net.NFE/ssl/Nfe_DownloadXml.ashx?id=42140200460986
000506550040000164481000164489
A resolver tributario.sef.sc.gov.br...200.19.214.140
A conectar tributario.sef.sc.gov.br|200.19.214.140|:443... conectado.
ERRO: nÒo Ú possÝvel verificar o certificado de tributario.sef.sc.gov.br, emitido por '/C=BR/O=ICP-Brasil/CN=SERASA Cert
ificadora Digital v2':
Incapaz de verificar localmente a autoridade do emissor.
Para conectar a tributario.sef.sc.gov.br de forma insegura, use '--no-check-certificate'.
Incapaz de estabelecer a conexÒo SSL.
'PROD' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.

alguem pode me ajudar?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts