Login Registre-se
[Resolvido]NFS-e:Erro SSLHandshakeException: Received fatal alert: unknown_ca e/ou handshake_failure  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
macspace

JavaC Membro

Membro desde: 02/01/2012 19:18:10
Mensagens: 15
Offline

Bom dia a todos,

eu estou tendo o erro acima ao tentar transmitir uma NFS-e para a prefeitura de Maringá/PR, e só recebo esse erro quando uso um certificado emitido por uma tal de VALID, se uso um certificado emitido pela SERASA funciona.

Assinar o XML vai sem problemas, o erro acontece quando tendo executar o método de envio pelo STUB gerado pelo Axis2 1.6.2, eu já tentei fazer a transmissão dos 2 jeitos abaixo:

Jeito 1, setando as properties do java, código retirado aqui do fórum:


Jeito 2, usando as classes SocketFactoryDinamico, Protocol, também retiradas aqui do fórum:


Mais detalhes:

Ao emitir com o certificado da VALIDA dá os seguintes erros:
Jeito 1: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
Jeito 2: javax.net.ssl.SSLHandshakeException: Received fatal alert: unknown_ca

Ao emitir com o certificado da SERASA:
Jeito 1: Sucesso, transmite
Jeito 2: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Obrigado desde já pela ajuda!

Esta mensagem foi editada 1 vez. Última atualização foi em 28/02/2014 09:51:12

paulork

JavaC Membro
[Avatar]

Membro desde: 01/10/2012 10:02:03
Mensagens: 27
Offline

Amigo, se tiver algum problema com o certificado também não vai passar...
Possivelmente as classes de envio estão funcionando se um dos certificados passa... a falha é no handshake (aperto de mão) do SSL...

Outra coisa, você tem a cadeia de certificados do site no seu KeyStore? Essas são geradas pelo BuildAllCacerts...
Você também pode fazer um teste de transmissão pelo SOAPUI de um xml de exemplo pra ver se envia...

vou ver se acho uma outra classe que usava para envio... não era os Stubs gerados....

abraço

Esta mensagem foi editada 2 vezes. Última atualização foi em 27/02/2014 09:03:20


Paulo R. K.
----------------------------------------
Desenvolvedor Java/Delphi @ 2014
macspace

JavaC Membro

Membro desde: 02/01/2012 19:18:10
Mensagens: 15
Offline

Paulo,

no GUJ tem um cara com o mesmo problema que o meu, lá ele postou dizendo que encontrou em outros fóruns que o problema pode ser o fato desse certificado da VALID ser SHA-2 ao invés de SHA-1, será que pode ser isso? E se for, tem idéia do que dá para ser feito ?
macspace

JavaC Membro

Membro desde: 02/01/2012 19:18:10
Mensagens: 15
Offline

Bom dia Pessoal, depois de muito pesquisar e sofrer, finalmente consegui resolver os problemas, segue abaixo os passos :

1 - Atualizar a cadeia de certificados do Windows:
1.1 - Acessar o site: http://www.iti.gov.br/icp-brasil/repositorio/144-icp-brasil/repositorio/3886-repositorio-de-certificados-arquivo-unico-compactado e fazer o download do arquivo ZIP
1.2 - Instalar os certificados que estão no zip. No meu caso, eu atualizei somente os que fazer parte da cadeia de certificados da VALID (AC_BR_RFB_G2.crt, AC_BR_RFB_G3.crt, AC_RFBv2.crt, AC_RFBv3.crt, AC_VALID.crt, AC_Valid_Brasil.crt, AC_VALID_RFB.crt, AC_VALID_SPB.crt, ICP-Brasil.crt, ICP-Brasilv2.crt, ICP-Brasilv3.crt).
2 - Reinstalar o cerficado da VALID
2.1 - Eu nem cheguei a remover, instalei por cima
2.2 - Na instalação marcar a opção para que ele seja exportado
3 - Exportar o certificado
3.1 - Marcar a opção para incluir todos certificados do caminho de certificação e a opção Exportar todas as propriedades extendidas
3.2 - A senha que ele pede, eu coloquei a mesma do certificado

Pronto, agora o certificado esta pronto para ser usado, basta fazer a transmissão utilizando o código abaixo:

paulork

JavaC Membro
[Avatar]

Membro desde: 01/10/2012 10:02:03
Mensagens: 27
Offline

Show de bola amigo, que bom que conseguiu resolver o seu problema... obrigado pela contribuição também.

Esse erro de SSL Handshake tem um monte de variáveis... mas realmente as cadeias de certificados precisam estar na máquina e na maioria dos casos é preciso usar o certificado (A1) exportado em vez de usado aquele que você recebe quando o compra... não vai ser sempre esse (ou só esse) problema, mas é um deles...

valeu amigo, bons códigos...

Paulo

Paulo R. K.
----------------------------------------
Desenvolvedor Java/Delphi @ 2014
samuelpc7

JavaC Membro

Membro desde: 08/08/2016 09:36:04
Mensagens: 31
Offline

macspace wrote:Bom dia Pessoal, depois de muito pesquisar e sofrer, finalmente consegui resolver os problemas, segue abaixo os passos :

1 - Atualizar a cadeia de certificados do Windows:
1.1 - Acessar o site: http://www.iti.gov.br/icp-brasil/repositorio/144-icp-brasil/repositorio/3886-repositorio-de-certificados-arquivo-unico-compactado e fazer o download do arquivo ZIP
1.2 - Instalar os certificados que estão no zip. No meu caso, eu atualizei somente os que fazer parte da cadeia de certificados da VALID (AC_BR_RFB_G2.crt, AC_BR_RFB_G3.crt, AC_RFBv2.crt, AC_RFBv3.crt, AC_VALID.crt, AC_Valid_Brasil.crt, AC_VALID_RFB.crt, AC_VALID_SPB.crt, ICP-Brasil.crt, ICP-Brasilv2.crt, ICP-Brasilv3.crt).
2 - Reinstalar o cerficado da VALID
2.1 - Eu nem cheguei a remover, instalei por cima
2.2 - Na instalação marcar a opção para que ele seja exportado
3 - Exportar o certificado
3.1 - Marcar a opção para incluir todos certificados do caminho de certificação e a opção Exportar todas as propriedades extendidas
3.2 - A senha que ele pede, eu coloquei a mesma do certificado

Pronto, agora o certificado esta pronto para ser usado, basta fazer a transmissão utilizando o código abaixo:



estou tentando baixar atravez desse link, porem acho q o site ta com problemas, alguem tem outro link ou poderia me enviar por email por gentileza?
samuel@athenemail.com.br
Wallfox

JavaC Membro

Membro desde: 30/03/2012 11:59:58
Mensagens: 76
Offline

macspace wrote:Bom dia Pessoal, depois de muito pesquisar e sofrer, finalmente consegui resolver os problemas, segue abaixo os passos :

1 - Atualizar a cadeia de certificados do Windows:
1.1 - Acessar o site: http://www.iti.gov.br/icp-brasil/repositorio/144-icp-brasil/repositorio/3886-repositorio-de-certificados-arquivo-unico-compactado e fazer o download do arquivo ZIP
1.2 - Instalar os certificados que estão no zip. No meu caso, eu atualizei somente os que fazer parte da cadeia de certificados da VALID (AC_BR_RFB_G2.crt, AC_BR_RFB_G3.crt, AC_RFBv2.crt, AC_RFBv3.crt, AC_VALID.crt, AC_Valid_Brasil.crt, AC_VALID_RFB.crt, AC_VALID_SPB.crt, ICP-Brasil.crt, ICP-Brasilv2.crt, ICP-Brasilv3.crt).
2 - Reinstalar o cerficado da VALID
2.1 - Eu nem cheguei a remover, instalei por cima
2.2 - Na instalação marcar a opção para que ele seja exportado
3 - Exportar o certificado
3.1 - Marcar a opção para incluir todos certificados do caminho de certificação e a opção Exportar todas as propriedades extendidas
3.2 - A senha que ele pede, eu coloquei a mesma do certificado

Pronto, agora o certificado esta pronto para ser usado, basta fazer a transmissão utilizando o código abaixo:




@macspace

Eu estou recebendo:
javax.net.ssl.SSLHandshakeException: Received fatal alert: unknown_ca

Já fiz a instalação dos certificados e nada, porém esta mensagem não acontece com a Sefaz de SP.
Alguém tem alguma ideia?



 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team