GNRE Online - Falha de autenticação (bad certificate)

442 views
Skip to first unread message

Thiago Moraes de Souza

unread,
Jan 16, 2013, 2:37:51 PM1/16/13
to nfe...@googlegroups.com

Bom dia pessoal, 

estou desenvolvendo uma aplicação para comunicar com a SEFAZ-PE, para integrar com GNRE,

o método de autenticação, segundo a documentação é a mesma utilizada pela NFe. Então optei por usar a mesma biblioteca NFEPHP.

Porém estou sempre obtendo o seguinte erro: 

35 - error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate

Fazendo o mesmo teste com NFe, simplesmente alterando o endereço, eu obtenho sucesso.

HTTP/1.1 200 OK
Date: Wed, 16 Jan 2013 19:28:57 GMT
Server: Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8s mod_jk/1.2.23
Transfer-Encoding: chunked
Content-Type: application/soap+xml

Li em alguns tópicos bem antigos sobre problemas relacionado, onde o OpenSSL não conseguiase conectar diferente por exemplo do NSS.

Alguém tem alguma sugestão ?  Ou caminho que devo seguir ? 


--
Thiago Moraes de Souza

Thiago Moraes de Souza

unread,
Jan 18, 2013, 7:01:16 AM1/18/13
to nfe...@googlegroups.com
Olá,

alguém consegue me ajudar? Ou simplesmente fazer um teste usando o próprio certificado digital ? 

Infelizmente a SEFAZ-PE também não está me respondendo, e estou emperrado com meu projeto...

Segue abaixo um pequeno script que estou fazendo de teste de conexão. 


$cabecalho = '<gnreCabecMsg xmlns="'. $namespace . '"><versaoDados>1.00</versaoDados></gnreCabecMsg>';
$dados = '<gnreDadosMsg xmlns="'. $namespace . '"><TConsultaConfigUf xmlns="http://www.gnre.pe.gov.br"><ambiente>2</ambiente><uf>PR</uf><receita courier="N">100099</receita></TConsultaConfigUf></gnreDadosMsg>';
$metodo = "consultar";


$data = '';
        $data .= '<?xml version="1.0" encoding="utf-8"?>';
        $data .= '<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">';
        $data .= '<soap12:Header>';
        $data .= $cabecalho;
        $data .= '</soap12:Header>';
        $data .= '<soap12:Body>';
        $data .= $dados;
        $data .= '</soap12:Body>';
        $data .= '</soap12:Envelope>';


//simple test of curl
$ch = curl_init();
$foobar = "";
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch , CURLOPT_FOLLOWLOCATION , 1 );
curl_setopt($ch, CURLOPT_SSLCERT, "config/certs/cliente.pem");
curl_setopt($ch, CURLOPT_SSLKEY, "config/certs/chave.pem");
curl_setopt($ch , CURLOPT_SSLVERSION, 3 );
curl_setopt( $ch , CURLOPT_POST , 1 );
curl_setopt( $ch , CURLOPT_POSTFIELDS , http_build_query( array( 'mensagem' => $data ) ) );
curl_setopt($ch, CURLOPT_VERBOSE, '1');


$foobar = curl_exec($ch);
print_r($foobar);
echo curl_errno($ch) ." - ". curl_error($ch); 

curl_close($ch);

die();


// Método para exportação das chaves
# Extrair chave.pem
openssl pkcs12 -in certificado.pfx -out chave.pem -nocerts -nodes

# Extrair cliente.pem
openssl pkcs12 -in certificado.pfx -out cliente.pem -clcerts -nokeys -nodes


Desde já muito Obrigado,

Vinicius Henrique Teixeira

unread,
Apr 26, 2020, 12:45:33 PM4/26/20
to NFePHP
Boa tarde.
Estou tendo o mesmo problema.
Na época você resolveu como?
Reply all
Reply to author
Forward
0 new messages