Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problema ao Transmitir NFE Homologação #1069

Closed
1 of 3 tasks
thiagomagamoc opened this issue Jul 29, 2024 · 26 comments
Closed
1 of 3 tasks

Problema ao Transmitir NFE Homologação #1069

thiagomagamoc opened this issue Jul 29, 2024 · 26 comments

Comments

@thiagomagamoc
Copy link

** Nota: para questões de suporte, use Google Groups https://groups.google.com/forum/#!forum/nfephp **. Os problemas deste repositório são reservados para solicitações de recursos e relatórios de erros.

  • Estou enviando um ...

    • bug
    • requisição de funcionalidade
    • requisição de suporte => Por favor, não envie solicitação de suporte aqui, veja a nota no topo deste modelo.
  • ** Por favor, conte-nos sobre o seu ambiente: **

    • Versão do leiaute:

<! --- Apague as linhas abaixo, 13-42 caso não esteja enviando um bug ->

Comportamento esperado

<! --- Diga-nos o que deve acontecer ->

Comportamento Atual

<! --- Diga-nos o que acontecer em vez do comportamento esperado ->
[0] - Erro de comunicação via soap, error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure [https://homolog.sefaz.go.gov.br/nfe/services/NFeAutorizacao4]

Descrição detalhada

<! --- Forneça uma descrição detalhada da alteração ou adição que você está propondo ->
[0] - Erro de comunicação via soap, error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure [https://homolog.sefaz.go.gov.br/nfe/services/NFeAutorizacao4]

@robmachado
Copy link
Contributor

Esse ERRO não é um bug é um problema nas configurações do seu servidor ! Veja no nosso forum

@thiagomagamoc
Copy link
Author

Esse ERRO não é um bug é um problema nas configurações do seu servidor ! Veja no nosso forum

Poxa vida, mas eu procurei muito aqui nos Issues , e não achei nada especifico
Estava funcionando e do nada parou..
Poderia me dar uma dica de onde pesquisar?
Já rodei todo o google e todos os issues aqui

@robmachado
Copy link
Contributor

@thiagomagamoc
Copy link
Author

Tente https://groups.google.com/g/nfephp/search?q=14094410%3ASSL%20routines%3Assl3_read_bytes%3Asslv3

Eu tentei tudo o que foi falado em no Groups Google do NFEPHP

Infelizmente lá, vários casos ficaram sem respostas, talvez até conseguiram resolver, porém não postaram a solução

Estava funcionando 100% e do nada parou.

Tentei uma instalação de ambiente limpa em um computador formado, e teve o mesmo problema

Pode até ser problema Local, más está muito estranho....

Sinceramente, não acho que essa issue deveria ser fechada...

@lidani
Copy link
Contributor

lidani commented Jul 29, 2024

ta usando ubuntu 22?

@thiagomagamoc
Copy link
Author

ta usando ubuntu 22?

To no Windows 11, ambiente de Homologação
Mas to quase subindo um Ubuntu aqui pra testar...

@lidani
Copy link
Contributor

lidani commented Jul 29, 2024

confere se vc ta usando o openssl 3, pois esse problema ocorre por lá, é necessário habilitar o modo legacy pra alguns certificados funcionarem.

isso aqui funcionou pra mim no ubuntu 22 (onde o openssl é a versão 3 por padrão): #1038 (comment)

se acaso nada funcionar, é possível que seja algo com as cadeias de certificados, vc pode atualizar as cadeias no windows e se acaso continuar dando problema, você pode tentar diminuir o nível de segurança da classe Soap, criando uma instância manualmente (e depois setando o level de segurança https://github.com/nfephp-org/sped-common/blob/master/src/Soap/SoapBase.php#L220C21-L220C37) e depois utilizando a função loadSoapClass diretamente na classe Tools para carregar sua classe Soap modificada.

@thiagomagamoc
Copy link
Author

confere se vc ta usando o openssl 3, pois esse problema ocorre por lá, é necessário habilitar o modo legacy pra alguns certificados funcionarem.

isso aqui funcionou pra mim no ubuntu 22 (onde o openssl é a versão 3 por padrão): #1038 (comment)

se acaso nada funcionar, é possível que seja algo com as cadeias de certificados, vc pode atualizar as cadeias no windows e se acaso continuar dando problema, você pode tentar diminuir o nível de segurança da classe Soap, criando uma instância manualmente (e depois setando o level de segurança https://github.com/nfephp-org/sped-common/blob/master/src/Soap/SoapBase.php#L220C21-L220C37) e depois utilizando a função loadSoapClass diretamente na classe Tools para carregar sua classe Soap modificada.

Vlw @lidani
Obrigado pelas dicas!

Versão do meu OpenSSL:
OpenSSL 1.1.1p 21 Jun 2022 (Library: OpenSSL 1.1.1q 5 Jul 2022)

Sobre as cadeias de certificado, fiquei com duvida, você se refere ao cacert.pem ?

Sobre o SOAP, tentei essa solução aqui abaixo (adcionando no meu __construct), porém sem sucesso:
$this->soap = new SoapCurl($this->certificate);
$this->soap->httpVersion('1.1'); //força o uso de http 1.1
$this->soap->protocol(SoapCurl::SSL_TLSV1_2); //força o uso do TLS1.2 na encriptação
$this->tools->loadSoapClass($this->soap); //carrega a classe SoapCurl, com parâmetros default alterados

@thiagomagamoc
Copy link
Author

confere se vc ta usando o openssl 3, pois esse problema ocorre por lá, é necessário habilitar o modo legacy pra alguns certificados funcionarem.

isso aqui funcionou pra mim no ubuntu 22 (onde o openssl é a versão 3 por padrão): #1038 (comment)

se acaso nada funcionar, é possível que seja algo com as cadeias de certificados, vc pode atualizar as cadeias no windows e se acaso continuar dando problema, você pode tentar diminuir o nível de segurança da classe Soap, criando uma instância manualmente (e depois setando o level de segurança https://github.com/nfephp-org/sped-common/blob/master/src/Soap/SoapBase.php#L220C21-L220C37) e depois utilizando a função loadSoapClass diretamente na classe Tools para carregar sua classe Soap modificada.

Adicionei o
$this->soap->setSecurityLevel(true);
O erro persiste

@thiagomagamoc
Copy link
Author

image

So pra deixar claro, subi o sistema no Ubuntu tambem
Mesmo erro...

@gersonfs
Copy link
Collaborator

E no Ubuntu vc editou o openssl.conf conforme esse link #1038 (comment) ?
E reiniciou o server após?
Os erros de openssl que tive aqui foram resolvidos assim.

@thiagomagamoc
Copy link
Author

E no Ubuntu vc editou o openssl.conf conforme esse link #1038 (comment) ? E reiniciou o server após? Os erros de openssl que tive aqui foram resolvidos assim.

Boa noite meu caro!
To usando o aapanel no Ubuntu, por acaso sabe onde fica o openssl.conf ?

@lidani
Copy link
Contributor

lidani commented Jul 29, 2024

/etc/ssl/openssl.conf se não me engano

@lidani
Copy link
Contributor

lidani commented Jul 29, 2024

a gente teve problemas com GO uma vez em homolog, mas era problema nos servidores deles, depois de um tempo normalizou. Por acaso vc tem outros certificados pra testar?

@thiagomagamoc
Copy link
Author

Resumo final:

  • 3 Ambientes diferentes (2 Windows e 1 Linux) testados com o NFE PHP : Os 3 deram erro
  • Alterado openssl : Não resolveu
  • Alterado parametros para forçar TLS diferentes : Não resolveu

Agora o teste mais interessante:

  • Testado aplicativo desenvolvido em Delphi, usando o mesmo certificado: NFE Homologação ENVIADA

E por fim:

  • Testado outro certificado no NFEPHP : NFE ENVIADA

Agora a questão final:
O Delphi enviou a NFE 100% e o NFEPHP não enviou (Ambos utilizando o mesmo certificado)

Conclusão: Há sim um bug.... Qual? Num sei!

@lidani
Copy link
Contributor

lidani commented Jul 30, 2024

qual versão do php vc ta usando?
tenta com versões mais antigas, tipo na 7.4

@thiagomagamoc
Copy link
Author

qual versão do php vc ta usando? tenta com versões mais antigas, tipo na 7.4

Impossível
Estou rodando a aplicação com Laravel 9, que requer PHP 8.0 no mínimo

@gersonfs
Copy link
Collaborator

Interessante o erro, aparentemente relacionado a algum ajuste fino do openssl em combinação com o certificado. Vc disse que com outro certificado funcionou no nfephp, o que muda entre eles além das informações da empresa? É de um outro fornecedor de certificados?

@lidani
Copy link
Contributor

lidani commented Jul 30, 2024

já tivemos problemas com certificados emitidos por autoridades certificadoras inconfiáveis, pedimos pro nosso cliente emitir um novo e passou a autorizar corretamente. No delphi é muito provavel que esteja sendo usado outras libs para assinatura, wincrypt, capicom, entre outras e se for a openssl, é possivel que seja em outra versão.

@thiagomagamoc
Copy link
Author

@robmachado Sinceramente, considere não fechar essa issue...

@gersonfs
Sim, emissores diferentes

O certificado que apresentou erro no NFEPHP foi Emitido por AC DIGITALSIGN RFB G3
O outro foi Emitido por AC SyngularID Multipla

@robmachado
Copy link
Contributor

Veja o erro se refere a SSLv3, ninguém mais usa esse modo de encriptação. O que está sendo usado é o TLS 1.2.
Não aparenta ser um problema do certificado, mas por desencargo de consciência instale o certificado no chrome e exporte novamente.
Não é o PHP pois eu uso php 7..4, 8.2 e 8.3 sem problema, o problema está no openssl ou com alguma configuração na sua maquina, como você disse que é Ruindows não posso nem tentar te ajudar, pois não uso isso a mais de 30 anos.
Minhas maquinas são DEBIAN (10,11, 12) ou Ubuntu (20.04 ou 22.04) uso sem problemas.

@gersonfs
Copy link
Collaborator

É bem difícil corrigir um bug que não pode ser reproduzido. Além disso, não tem nada claramente indicando que o problema é na sped-nfe ou na versão do PHP ou na versão do openssl. Gostaria de ajudar mas não tenho conhecimento na área específica de certificados digitais e ssl.
My two cents: É mais barato comprar um novo certificado do fornecedor que deu certo.

@thiagomagamoc
Copy link
Author

Veja o erro se refere a SSLv3, ninguém mais usa esse modo de encriptação. O que está sendo usado é o TLS 1.2. Não aparenta ser um problema do certificado, mas por desencargo de consciência instale o certificado no chrome e exporte novamente. Não é o PHP pois eu uso php 7..4, 8.2 e 8.3 sem problema, o problema está no openssl ou com alguma configuração na sua maquina, como você disse que é Ruindows não posso nem tentar te ajudar, pois não uso isso a mais de 30 anos. Minhas maquinas são DEBIAN (10,11, 12) ou Ubuntu (20.04 ou 22.04) uso sem problemas.

Roberto, eu testei em 2 máquinas Ruindows e 1 Máquina Linux Ubuntu, ambas apresentaram o mesmo erro...

@robmachado
Copy link
Contributor

Apenas com esse certificado ou testou com outros certificados ??

@thiagomagamoc
Copy link
Author

Resumo final:

  • 3 Ambientes diferentes (2 Windows e 1 Linux) testados com o NFE PHP : Os 3 deram erro
  • Alterado openssl : Não resolveu
  • Alterado parametros para forçar TLS diferentes : Não resolveu

Agora o teste mais interessante:

  • Testado aplicativo desenvolvido em Delphi, usando o mesmo certificado: NFE Homologação ENVIADA

E por fim:

  • Testado outro certificado no NFEPHP : NFE ENVIADA

Agora a questão final: O Delphi enviou a NFE 100% e o NFEPHP não enviou (Ambos utilizando o mesmo certificado)

Conclusão: Há sim um bug.... Qual? Num sei!

@robmachado

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants