Login Registre-se
Apache TOMCAT - Cacert  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
elton.cunha

JavaC Membro

Membro desde: 31/08/2014 21:21:14
Mensagens: 7
Offline

Boa Noite Senhores(as) !!!

Estou enfrentando um problema em programa que faço a consulta da nota fiscal eletrônica, se o mesmo for executado localmente ou através do eclipse para fins de teste o mesmo consegue carregar o cacerts e executa a consulta corretamente, porem quando coloco rodar o mesmo programa sob o tomcat o mesmo gera o erro de certificado, segue os exemplos, se tiverem alguma sugestão do caso, agradeço.

Programa executado direto pelo eclipse retornou a seguinte mensagem
Ambiente: Produção - Estado: Rio Grande do Sul - Modo Web
Configurando URL's
log4j:WARN No appenders could be found for logger (org.apache.axiom.locator.DefaultOMMetaFactoryLocator).
log4j:WARN Please initialize the log4j system properly.
Pesq.Tipo : NFe
WebService - https://nfe.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx
Carregando CONFIG
Carregando STUBS
Retorno do STUB
Ajustando Restorno
Status:100
Motivo:Autorizado o uso da NF-e
Data:2019-05-17T13:45:15-03:00
- TRANSACAO FINALIZADA COM RETORNO : 100
----------------------------------------------------------------------

Mesmo programa rodado pelo apache tomcat retornou o seguinte resultado

log4j:WARN No appenders could be found for logger (org.apache.commons.httpclient
.params.DefaultHttpParams).
log4j:WARN Please initialize the log4j system properly.
Ambiente: Produção - Estado: Rio Grande do Sul - Modo Web
Configurando URL's
Pesq.Tipo : NFe
WebService - https://nfe.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx
Carregando CONFIG
Carregando STUBS
ConsultaXml - RemoteException
br.com.nfe.v400.exception.NfeException: javax.net.ssl.SSLException: Connection h
as been shutdown: javax.net.ssl.SSLHandshakeException: sun.security.validator.Va
lidatorException: PKIX path building failed: sun.security.provider.certpath.SunC
ertPathBuilderException: unable to find valid certification path to requested ta
rget
at br.com.nfe.v400.ConsultaXml.consultaXml(Unknown Source)
at br.com.nfe.v400.NfeWeb.consultaXml(Unknown Source)
at br.com.sistransp.cte.out.nfeConsultChave.consultChave(Unknown Source)

at br.com.sistransp.regras.regrConhecimento.consultChaveNfe(Unknown Sour
ce)
at br.com.sistransp.servico.servConhecimento.consultChaveNfe(Unknown Sou
rce)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at flex.messaging.services.remoting.adapters.JavaAdapter.invoke(JavaAdap
ter.java:41
at flex.messaging.services.RemotingService.serviceMessage(RemotingServic
e.java:183)
at flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java
:1400)
at flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndp
oint.java:1011)
at flex.messaging.endpoints.amf.MessageBrokerFilter.invoke(MessageBroker
Filter.java:103)
at flex.messaging.endpoints.amf.LegacyFilter.invoke(LegacyFilter.java:15

at flex.messaging.endpoints.amf.SessionFilter.invoke(SessionFilter.java:
44)
at flex.messaging.endpoints.amf.BatchProcessFilter.invoke(BatchProcessFi
lter.java:67)
at flex.messaging.endpoints.amf.SerializationFilter.invoke(Serialization
Filter.java:166)
at flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.ja
va:291)
at flex.messaging.MessageBrokerServlet.service(MessageBrokerServlet.java
:353)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:72
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:20
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:91
)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:20
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:223)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:107)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:504)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:155)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:75)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:
934)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:90)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:494)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp
11Processor.java:1009)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(
AbstractProtocol.java:632)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.pr
ocess(Http11AprProtocol.java:281)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpo
int.java:224
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoin
t.java:2237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
----------------------------------------------------------------------
- TRANSACAO FINALIZADA COM RETORNO :
----------------------------------------------------------------------
[Thumb - Capturar.PNG]
 Nome do arquivo Capturar.PNG [Disk] Download
 Descrição erro apache
 Tamanho 10 Kbytes
 Baixado:  24 vez(es)

samuk.exe@hotmail.com

Moderador
[Avatar]

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

Tudo bom?

Pergunta. Algumas mensagens parecem ser da minha API.
Mas os Packges não...

Afinal ta a minha API ou alguma variação dela?

E vc vai precisar mostrar como registra o Cacert pra gente poder te ajudar.

Samuel Oliveira
Gerente de Projetos - SW Software e Consultoria
Moderador (JavaC - Java Community)
samuel@swconsultoria.com.br

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.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
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

http://www.swconsultoria.com.br/

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]
elton.cunha

JavaC Membro

Membro desde: 31/08/2014 21:21:14
Mensagens: 7
Offline

Tudo bem samuk

Algumas mensagens parecem ser da minha API. Sim é a sua API, para tentar verificar se não tinha outros problemas acabei me utilizando dela .
O cacert que estou me utilizando foi gerando recente, o mais estranho é que no eclipse funciona corretamente, porem ao subir no tomcat gera o erro mencionado .


public String consultChave(String chaveDaNFe) {

String retProg = "";

try {

Certificado certificado = CertificadoService.certificadoPfx("C:\\Arquivos\\Programas\\certs\\cert.pfx", "teste123");

InputStream cacert = new FileInputStream("C:\\Arquivos\\Programas\\certs\\Cacert");

CertificadoService.inicializaCertificado(certificado, cacert);

ConfiguracoesWebNfe config = ConfiguracoesWebNfe.iniciaConfiguracoes(Estados.RS, ConstantesUtil.AMBIENTE.PRODUCAO, certificado, "C:\\Arquivos\\Programas\\Schemas", true);

TRetConsSitNFe retorno = null;

System.out.println("Configurando URL's");

retorno = NfeWeb.consultaXml(config, chaveDaNFe, ConstantesUtil.NFE);

if (retorno != null){
System.out.println("Status:" + retorno.getCStat());
System.out.println("Motivo:" + retorno.getXMotivo());
System.out.println("Data:" + retorno.getProtNFe().getInfProt().getDhRecbto());

retProg = retorno.getCStat();
}

}
catch (Exception e) {

e.printStackTrace();
System.out.println("----------------------------------------------------------------------");
e.getLocalizedMessage();
}

System.out.println(" - TRANSACAO FINALIZADA COM RETORNO : " + retProg);
System.out.println("----------------------------------------------------------------------");

return retProg;

}


public static void inicializaCertificado(Certificado certificado, InputStream cacert) throws CertificadoException, KeyStoreException, NoSuchAlgorithmException, KeyManagementException, CertificateException, IOException, NoSuchProviderException {

try {

KeyStore keyStore = getKeyStore(certificado);
X509Certificate certificate = getCertificate(certificado, keyStore);
PrivateKey privateKey = (PrivateKey) keyStore.getKey(certificado.getNome(), certificado.getSenha().toCharArray());
if (certificado.isAtivarProperties()) {
CertificadoProperties.inicia(certificado, cacert);
} else {
SocketFactoryDinamico socketFactory = new SocketFactoryDinamico(certificate, privateKey, cacert, certificado.getSslProtocol(), keyStore, certificado.getNome());
Protocol protocol = new Protocol("https", socketFactory, 443);
Protocol.registerProtocol("https", protocol);
}

} catch (UnrecoverableKeyException e) {
throw new CertificadoException(e.getMessage());
}

}
samuk.exe@hotmail.com

Moderador
[Avatar]

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

Show.

1º Com minha API você não precisa informar o CACERT, isso é feito internamente nela e vc não tem essa responsabilidade.
2º Pelo seu código você está utilizando uma versão antiga Da API, recomendo que utilize a versão Atual :
https://github.com/Samuel-Oliveira/Java_NFe

Essa versão tem varias melhorias.

Caso tenha dificuldades aqui tem um manual de migração para quem utilizava versoes antigas.
https://gist.github.com/Samuel-Oliveira/c547decad469f21ff99de1c766bdc75d

No mais, se ainda tiver duvidas só me chamar aqui.

Abraços!

Samuel Oliveira
Gerente de Projetos - SW Software e Consultoria
Moderador (JavaC - Java Community)
samuel@swconsultoria.com.br

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.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
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

http://www.swconsultoria.com.br/

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]
elton.cunha

JavaC Membro

Membro desde: 31/08/2014 21:21:14
Mensagens: 7
Offline

muito obrigado samuk .
a noite irei trabalhar nisso e vamos conversando .
 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team