Login Registre-se
Sobre NF-e 4.0  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
Zovao

JavaC Membro

Membro desde: 28/01/2012 11:50:16
Mensagens: 169
Offline

Bom dia Pessoal,

Desculpe, escrevi essa dúvida na notícia do Maciel. Vou transcrevê-lo.

Minha aplicação é web e eu uso as classes que foram disponibilizadas aqui no Javac.

O governo diz na NT 2016.002, que não será permitida a comunicação via protocolo SSL, apenas TLS1.2 ou superior.
E também será eliminado variáveis no SOAP Header.

Algumas dúvidas seriam:
- O que mudam nas classes tipo SocketFactoryDinamico, ou mesmo naquelas de Autorização, seu retorno, etc.
- Como minha aplicação é web, utilizo um certificado SSL para páginas HTTPS, para conectar com o Sefaz, eu teria que comprar outro certificado?

Obrigado!
Abraços
macielgoncalves

Administrador
[Avatar]

Membro desde: 06/03/2011 14:49:25
Mensagens: 1233
Localização: Tubarão - SC
Offline

Olá Zovao,

Estou verificando esses detalhes de implementação da nova versão (NF-e 4.00), em breve faremos a divulgação dos detalhes aqui no fórum.

Abraços...

Maciel Gonçalves
Administrador (JavaC - Java Community)
Seguir no Twitter @macielgoncalves



Projeto NF-e, CT-e, CC-e? Comece Por Aqui!

Quer saber mais sobre NF-e? Acesse www.MACIELGONCALVES.com.br

"A mente que se abre a uma nova ideia jamais voltará ao seu tamanho original." Albert Einstein
"Seja liberal naquilo que você aceita, e conservador naquilo que você propaga". Jon Postel.
"A coisa mais indispensável a um homem é reconhecer o uso que deve fazer do seu próprio conhecimento". Platão


Emissão de Documentos Fiscais para Desenvolvedores Java


Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!

[WWW] [MSN]
Zovao

JavaC Membro

Membro desde: 28/01/2012 11:50:16
Mensagens: 169
Offline

Olá Maciel,

Obrigado pela atenção.
Ficamos no aguardo.

Abraços!
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 449
Localização: Goiás
Offline

Dei uma boa lida Também.

Mas decidi não mexer em nada até o WebServices estarem online em 06/2017.
Aposto um braço que até lá haverá muitas modificações ainda.

Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

Experimente a API que facilita a emissão de NFe/NFC-e-> http://www.javac.com.br/jc/posts/list/2614-projeto-biblioteca-javanfe-com-jaxb-nfe-simples.page
Experimente a API que facilita a emissão de CTe-> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-2000.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
Zovao

JavaC Membro

Membro desde: 28/01/2012 11:50:16
Mensagens: 169
Offline

Olá Samuel,

Com certeza muita coisa vai mudar, mas como eu peguei o pacote pronto aqui no Javac, não domino essa parte de protocolos de comunicação.
Por isso estou pelo menos adiantando como fazer isso.

Abraços!
GGarcia

JavaC Membro

Membro desde: 28/05/2013 17:12:21
Mensagens: 161
Offline

Com quase 99% de certeza teremos alterações nas especificações atuais.

Se olharmos para trás e analisarmos coisas mais simples que foram alteradas e sofreram n adiamentos, podemos até especular que a NFe 4.0 nem opere em 2017.

Esse ano foi um belo exemplo, onde até mesmo servidores de homologação não estavam respeitando as regras novas.

If you're here, who's running hell?
GGarcia

JavaC Membro

Membro desde: 28/05/2013 17:12:21
Mensagens: 161
Offline

Zovao wrote:...não domino essa parte de protocolos de comunicação.
Por isso estou pelo menos adiantando como fazer isso.

Abraços!


Não sei como andam as coisas com pessoal que usa o Axis2 1.5.3, mas no que utilizo aqui, o 1.7.3, é bem simples a questão do protocolo.

Na classe de factory dinâmico, no método createSocket, temos, basicamente:



Pelo que andei lendo, apenas altere a linha



para


e a questão está resolvida. Java 8 já lida com isso por default, então, fica mais simples.

Esta mensagem foi editada 1 vez. Última atualização foi em 15/12/2016 15:51:37


If you're here, who's running hell?
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 449
Localização: Goiás
Offline

Só Lembrando e recomendando que não faça essa modificações agora.

Alguns Web Services (como o de RS) não aceitam TLSv1.2 Somente TLSv1.

Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

Experimente a API que facilita a emissão de NFe/NFC-e-> http://www.javac.com.br/jc/posts/list/2614-projeto-biblioteca-javanfe-com-jaxb-nfe-simples.page
Experimente a API que facilita a emissão de CTe-> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-2000.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
GGarcia

JavaC Membro

Membro desde: 28/05/2013 17:12:21
Mensagens: 161
Offline

samuk.exe@hotmail.com wrote:Só Lembrando e recomendando que não faça essa modificações agora.

Alguns Web Services (como o de RS) não aceitam TLSv1.2 Somente TLSv1.


Ah sim, isso é futurologia. Melhor não mexer em nada mesmo e aguardar as especificações e datas finais.

O tempo para implementar as mudanças entre entrada em homologação para produção será suficiente. Pelo menos o core continua o mesmo.

If you're here, who's running hell?
macega

JavaC Membro

Membro desde: 08/07/2015 10:17:16
Mensagens: 46
Offline

futurologia. essa foi massa, mas como dito antes e 999% que vai ter alterações algumas NTs ate lá
Zovao

JavaC Membro

Membro desde: 28/01/2012 11:50:16
Mensagens: 169
Offline

Olá GGarcia,

Valeu pela dica.

Vou dar uma olhada no que vc mostrou e comparar com a função que peguei aqui no Javac.
Eu tb não vou alterar nada agora. Sei que muita coisa vai mudar.
Qualquer novidade vamos postando, para mantermos atualizados.
Obrigado.

Abraços.
Zovao

JavaC Membro

Membro desde: 28/01/2012 11:50:16
Mensagens: 169
Offline

Olá Pessoal,

Quanto ao SocketFactory eu fiz exatamente do jeito que o Maciel exemplificou neste link abaixo:

http://www.javac.com.br/jc/posts/list/224-resolvendo-o-problema-4037-forbidden-para-certificado-a1-protocolsocketfactory.page

Vocês saberiam onde alterar no "SocketFactoryDinamico" e no exemplo do "NFeStatusServicoFactoryDinamicoA1" ?

Não vou mexer agora, mas é bom saber o que fazer para não ficar atrapalhado na hora H.

Obrigado desde já.

Abraços.

macega

JavaC Membro

Membro desde: 08/07/2015 10:17:16
Mensagens: 46
Offline

a minha esta assim

Zovao

JavaC Membro

Membro desde: 28/01/2012 11:50:16
Mensagens: 169
Offline

Olá Macega,

O meu está exatamente como o seu, e também daquele q o GGarcia mostrou.
Mas tem uma diferença:

Na função "public Socket createSocket", eu não uso a linha:

((SSLSocket) socket).setEnabledProtocols(new String[] {"SSLv3", "TLSv1"});

e está funcionando normalmente (eu deixei do jeito sugerido pelo Maciel).
Qual a diferença entre ter ou não essa linha inserida no código?

Socket socket = socketfactory.createSocket();
//((SSLSocket) socket).setEnabledProtocols(new String[]{"TLSv1", "TLSv1.2"});
((SSLSocket) socket).setEnabledProtocols(new String[] {"SSLv3", "TLSv1"}); <=== esta linha não tem no meu código
// posivel alteraçao ((SSLSocket) socket).setEnabledProtocols(new String[] {"TLSv1.2"});
SocketAddress localaddr = new InetSocketAddress(localAddress, localPort);
SocketAddress remoteaddr = new InetSocketAddress(host, port);
socket.bind(localaddr);

Outra dúvida seria:
Na função "private SSLContext createSSLContext()",

Na linha
SSLContext sslContext = SSLContext.getInstance("TLS");

bastaria trocar o "TLS" por "TLSv1.2" ?

E eu estou usando Java 1.6.0_27, ele suporta esse protocolo TLSv1.2?

Obrigado !

Abraços.
macega

JavaC Membro

Membro desde: 08/07/2015 10:17:16
Mensagens: 46
Offline

ele habilita para utilizar estes 2 protocolos somente
"SSLv3", "TLSv1", tive que fazer essa alteração que estava tendo problemas para autorizar NF-e nos serviços do RS "svrs.rs.gov.br",
normalmente la eles alteram as coisas mais rápido.

bastaria trocar o "TLS" por "TLSv1.2" ? sim

só nao sei te dizer se a versão "Java 1.6.0_27" suporta mas e só mudar e testar em homologação,
acho mais fácil que procura na documentação rererere
 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team