| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/02/2008 11:31:01
|
julianosott
Entusiasta Java
Membro desde: 07/02/2008 11:20:43
Mensagens: 18
Offline
|
Olá pessoal, estou implementando um módulo da Nota Fiscal Eletronica e tenho uma dúvida quanto ao acesso ao web service da receita federal.
1) Como eu faço para aceitar o certificado digital da receita? Isso é no tomcat, no código da aplicação ou no sistema operacional?
2) Como enviar o meu certificado digital para o web service da receita? É só configurar no tomcat?
Existe algum tutorial? Não encontrei nada específico do certificado do cliente. Neste exato momento ainda não tenho o certificado, então ainda não tentei fazer a conexão.
Valeu!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/02/2008 10:52:46
|
julianosott
Entusiasta Java
Membro desde: 07/02/2008 11:20:43
Mensagens: 18
Offline
|
Seguinte. Obtive o certificado digital válido para acessar a nota fiscal eletronica, mas o mesmo se encontra em um dispositivo eToken. Consegui assinar o xml com a chave do certificado. O problema é enviar o certificado para o servidor da receita validar o certificado do cliente (o meu). Coloquei isso no arquivo server.xml do tomcat:
<Connector port="8443"
maxThreads="100" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
scheme="https" secure="true" clientAuth="false"
keystoreType="PKCS11"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA"
keystorePass="safeweb" sslProtocol = "TLS" />
Criei um web service cliente usando axis1 e o wizard do eclipse. Porém na hora de acessar o service da receita dá o seguinte erro:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: 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
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: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
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at projeto.com.br.nFEletronica.wsCliente.nfRecepcao.NfeRecepcaoSoapStub.nfeRecepcaoLote(NfeRecepcaoSoapStub.java:110)
at projeto.com.br.nFEletronica.ClienteWSTest.axis1ws(ClienteWSTest.java:23)
at projeto.com.br.servico.NFEService.getNotaFE(NFEService.java:138)
at projeto.com.br.servico.ProdutoNotaPedidoService.saveNotaFiscalEletronica(ProdutoNotaPedidoService.java:512)
at projeto.com.br.servico.ProdutoNotaPedidoService.save(ProdutoNotaPedidoService.java:521)
at projeto.com.br.servico.ProdutoNotaPedidoService.faturarPedido(ProdutoNotaPedidoService.java:353)
at projeto.com.br.servico.ProdutoNotaPedidoService.faturarPedido(ProdutoNotaPedidoService.java:201)
at projeto.com.br.servico.ProdutoNotaPedidoService$$FastClassByCGLIB$$916e9efe.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:694)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629)
at projeto.com.br.servico.ProdutoNotaPedidoService$$EnhancerByCGLIB$$a8f31151.faturarPedido(<generated>)
at projeto.com.br.beans.distribuidor.financeiro.FaturamentoPedidoBean.faturarIntervalo(FaturamentoPedidoBean.java:154)
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 com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
at javax.faces.component.UICommand.broadcast(UICommand.java:325)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:180)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:158)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:329)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Unknown Source)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
at sun.security.validator.Validator.validate(Unknown Source)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unknown Source)
... 71 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(Unknown Source)
... 76 more
{http://xml.apache.org/axis/}hostname:JULIANO
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
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at projeto.com.br.nFEletronica.wsCliente.nfRecepcao.NfeRecepcaoSoapStub.nfeRecepcaoLote(NfeRecepcaoSoapStub.java:110)
at projeto.com.br.nFEletronica.ClienteWSTest.axis1ws(ClienteWSTest.java:23)
at projeto.com.br.servico.NFEService.getNotaFE(NFEService.java:138)
at projeto.com.br.servico.ProdutoNotaPedidoService.saveNotaFiscalEletronica(ProdutoNotaPedidoService.java:512)
at projeto.com.br.servico.ProdutoNotaPedidoService.save(ProdutoNotaPedidoService.java:521)
at projeto.com.br.servico.ProdutoNotaPedidoService.faturarPedido(ProdutoNotaPedidoService.java:353)
at projeto.com.br.servico.ProdutoNotaPedidoService.faturarPedido(ProdutoNotaPedidoService.java:201)
at projeto.com.br.servico.ProdutoNotaPedidoService$$FastClassByCGLIB$$916e9efe.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:694)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629)
at projeto.com.br.servico.ProdutoNotaPedidoService$$EnhancerByCGLIB$$a8f31151.faturarPedido(<generated>)
at projeto.com.br.beans.distribuidor.financeiro.FaturamentoPedidoBean.faturarIntervalo(FaturamentoPedidoBean.java:154)
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 com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
at javax.faces.component.UICommand.broadcast(UICommand.java:325)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:180)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:158)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:329)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Unknown Source)
Caused by: 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
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
... 59 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
at sun.security.validator.Validator.validate(Unknown Source)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unknown Source)
... 71 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(Unknown Source)
... 76 more
Parece que o tomcat não está encontrando o caminho do certificado. Estranho que na hora de assinar o xml eu consigo acessar o dispositivo, mas tb eu especifico o local do arquivo de configuração. No caso do tomcat eu adicionei a linha security.provider.7=sun.security.pkcs11.SunPKCS11 /token.cfg no arquivo java.security e no token.config eu tenho name = eToken
library = C:\WINDOWS\system32\eTpkcs11.dll.
Alguem tem uma idéia do que pode ser esse problema?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/02/2008 14:16:04
|
oyama
Virtual Machine Man
Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline
|
Este erro dá porque o certificado do Web Service é auto-assinado, ou você não tem o certificado root que assinou este certificado.
Veja o tópico abaixo como configurar um trustStore com o certificado do servidor:
http://www.guj.com.br/posts/list/15/71969.java
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/02/2008 18:04:29
|
julianosott
Entusiasta Java
Membro desde: 07/02/2008 11:20:43
Mensagens: 18
Offline
|
valeu pela dica oyama. Consegui resolver o problema anterior. adicionei o certificado da receita na lista de certificados confiaveis do java. Fiz o que dizia nessa página: http://blogs.sun.com/andreas/entry/no_more_unable_to_find, parece que funcionou. Tive que mexer um pouco na classe dele.
Mas agora apareceu um outro erro. Pelo visto ele não encontrou o certificado que está dentro do dispositivo eToken. O erro é o seguinte:
AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (403)Forbidden
faultActor:
faultNode:
faultDetail:
{}:return code: 403
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>The page requires a client certificate</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
<STYLE type="text/css">
BODY { font: 8pt/12pt verdana }
H1 { font: 13pt/15pt verdana }
H2 { font: 8pt/12pt verdana }
A:link { color: red }
A:visited { color: maroon }
</STYLE>
</HEAD><BODY><TABLE width=500 border=0 cellspacing=10><TR><TD>
<h1>The page requires a client certificate</h1>
The page you are attempting to access requires your browser to have a Secure Sockets Layer (SSL) client certificate that the Web server will recognize. The client certificate is used for identifying you as a valid user of the resource.
<hr>
<p>Please try the following:</p>
<ul>
<li>Contact the Web site administrator if you believe you should be able to view this directory or page without a client certificate, or to obtain a client certificate.</li>
<li>If you already have a client certificate, use your Web browser's security features to ensure that your client certificate is installed properly. (Some Web browsers refer
to client certificates as browser or personal certificates.)</li>
</ul>
<h2>HTTP Error 403.7 - Forbidden: SSL client certificate is required.<br>Internet Information Services (IIS)</h2>
<hr>
<p>Technical Information (for support personnel)</p>
<ul>
<li>Go to <a href="http://go.microsoft.com/fwlink/?linkid=8180">Microsoft Product Support Services</a> and perform a title search for the words <b>HTTP</b> and <b>403</b>.</li>
<li>Open <b>IIS Help</b>, which is accessible in IIS Manager (inetmgr),
and search for topics titled <b>About Certificates</b>, <b>Using Certificate Trust Lists</b>, <b>Enabling Client Certificates</b>, and <b>About Custom Error Messages</b>.</li>
</ul>
</TD></TR></TABLE></BODY></HTML>
{http://xml.apache.org/axis/}HttpErrorCode:403
(403)Forbidden
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at projeto.com.br.nFEletronica.wsCliente.NfeRecepcaoSoapStub.nfeRecepcaoLote(NfeRecepcaoSoapStub.java:140)
at projeto.com.br.nFEletronica.ClienteWSTest.axis1ws(ClienteWSTest.java:26)
at projeto.com.br.servico.NFEService.getNotaFE(NFEService.java:138)
at projeto.com.br.servico.ProdutoNotaPedidoService.saveNotaFiscalEletronica(ProdutoNotaPedidoService.java:512)
at projeto.com.br.servico.ProdutoNotaPedidoService.save(ProdutoNotaPedidoService.java:521)
at projeto.com.br.servico.ProdutoNotaPedidoService.faturarPedido(ProdutoNotaPedidoService.java:353)
at projeto.com.br.servico.ProdutoNotaPedidoService.faturarPedido(ProdutoNotaPedidoService.java:201)
at projeto.com.br.servico.ProdutoNotaPedidoService$$FastClassByCGLIB$$916e9efe.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:694)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629)
at projeto.com.br.servico.ProdutoNotaPedidoService$$EnhancerByCGLIB$$e20d9c45.faturarPedido(<generated>)
at projeto.com.br.beans.distribuidor.financeiro.FaturamentoPedidoBean.faturarIntervalo(FaturamentoPedidoBean.java:154)
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 com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
at javax.faces.component.UICommand.broadcast(UICommand.java:325)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:180)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:158)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:329)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Unknown Source)
org.springframework.orm.hibernate3.HibernateTemplate@1bea611
org.springframework.orm.hibernate3.HibernateTemplate@1cf5ee4
18:30:45,750 ERROR HtmlGridRendererBase:85 - Wrong columns attribute for PanelGrid _id4:_id5: -2147483648
18:30:45,750 ERROR HtmlGridRendererBase:85 - Wrong columns attribute for PanelGrid _id4:_id6: -2147483648
18:30:45,812 ERROR HtmlGridRendererBase:85 - Wrong columns attribute for PanelGrid _id4:_id33: -2147483648
18:30:48,312 ERROR HtmlGridRendererBase:85 - Wrong columns attribute for PanelGrid loginForm:_id0: -2147483648
Logim bean
projeto.com.br.servico.exception.PessoaException
at projeto.com.br.servico.PessoaService.getPessoaLogin(PessoaService.java:309)
at projeto.com.br.servico.PessoaService$$FastClassByCGLIB$$2eead599.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:694)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629)
at projeto.com.br.servico.PessoaService$$EnhancerByCGLIB$$96870620.getPessoaLogin(<generated>)
at projeto.com.br.servico.LoginDistribuidorService.getPessoaLogin(LoginDistribuidorService.java:29)
at projeto.com.br.beans.distribuidor.login.LoginDistribuidorBean.actionLogar(LoginDistribuidorBean.java:35)
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 com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
at Util.filter.CommomFilter.processAction(CommomFilter.java:52)
at javax.faces.component.UICommand.broadcast(UICommand.java:332)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:180)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:158)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:329)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Unknown Source)
18:30:52,203 ERROR HtmlGridRendererBase:85 - Wrong columns attribute for PanelGrid loginForm:_id0: -2147483648
org.springframework.orm.hibernate3.HibernateTemplate@1bea611
org.springframework.orm.hibernate3.HibernateTemplate@1cf5ee4
18:30:57,328 ERROR HtmlGridRendererBase:85 - Wrong columns attribute for PanelGrid fmr:_id4: -2147483648
18:30:57,343 ERROR HtmlGridRendererBase:85 - Wrong columns attribute for PanelGrid fmr:_id5: -2147483648
18:30:57,359 ERROR HtmlGridRendererBase:85 - Wrong columns attribute for PanelGrid fmr:_id58: -2147483648
org.springframework.orm.hibernate3.HibernateTemplate@1bea611
org.springframework.orm.hibernate3.HibernateTemplate@1cf5ee4
18:31:14,859 ERROR HtmlGridRendererBase:85 - Wrong columns attribute for PanelGrid _id4:_id5: -2147483648
18:31:14,859 ERROR HtmlGridRendererBase:85 - Wrong columns attribute for PanelGrid _id4:_id6: -2147483648
18:31:14,906 ERROR HtmlGridRendererBase:85 - Wrong columns attribute for PanelGrid _id4:_id33: -2147483648
AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (403)Forbidden
faultActor:
faultNode:
faultDetail:
{}:return code: 403
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>The page requires a client certificate</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
<STYLE type="text/css">
BODY { font: 8pt/12pt verdana }
H1 { font: 13pt/15pt verdana }
H2 { font: 8pt/12pt verdana }
A:link { color: red }
A:visited { color: maroon }
</STYLE>
</HEAD><BODY><TABLE width=500 border=0 cellspacing=10><TR><TD>
<h1>The page requires a client certificate</h1>
The page you are attempting to access requires your browser to have a Secure Sockets Layer (SSL) client certificate that the Web server will recognize. The client certificate is used for identifying you as a valid user of the resource.
<hr>
<p>Please try the following:</p>
<ul>
<li>Contact the Web site administrator if you believe you should be able to view this directory or page without a client certificate, or to obtain a client certificate.</li>
<li>If you already have a client certificate, use your Web browser's security features to ensure that your client certificate is installed properly. (Some Web browsers refer
to client certificates as browser or personal certificates.)</li>
</ul>
<h2>HTTP Error 403.7 - Forbidden: SSL client certificate is required.<br>Internet Information Services (IIS)</h2>
<hr>
<p>Technical Information (for support personnel)</p>
<ul>
<li>Go to <a href="http://go.microsoft.com/fwlink/?linkid=8180">Microsoft Product Support Services</a> and perform a title search for the words <b>HTTP</b> and <b>403</b>.</li>
<li>Open <b>IIS Help</b>, which is accessible in IIS Manager (inetmgr),
and search for topics titled <b>About Certificates</b>, <b>Using Certificate Trust Lists</b>, <b>Enabling Client Certificates</b>, and <b>About Custom Error Messages</b>.</li>
</ul>
</TD></TR></TABLE></BODY></HTML>
{http://xml.apache.org/axis/}HttpErrorCode:403
(403)Forbidden
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:744)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at projeto.com.br.nFEletronica.wsCliente.NfeRecepcaoSoapStub.nfeRecepcaoLote(NfeRecepcaoSoapStub.java:140)
at projeto.com.br.nFEletronica.ClienteWSTest.axis1ws(ClienteWSTest.java:26)
at projeto.com.br.servico.NFEService.getNotaFE(NFEService.java:138)
at projeto.com.br.servico.ProdutoNotaPedidoService.saveNotaFiscalEletronica(ProdutoNotaPedidoService.java:512)
at projeto.com.br.servico.ProdutoNotaPedidoService.save(ProdutoNotaPedidoService.java:521)
at projeto.com.br.servico.ProdutoNotaPedidoService.faturarPedido(ProdutoNotaPedidoService.java:353)
at projeto.com.br.servico.ProdutoNotaPedidoService.faturarPedido(ProdutoNotaPedidoService.java:201)
at projeto.com.br.servico.ProdutoNotaPedidoService$$FastClassByCGLIB$$916e9efe.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:694)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:629)
at projeto.com.br.servico.ProdutoNotaPedidoService$$EnhancerByCGLIB$$e20d9c45.faturarPedido(<generated>)
at projeto.com.br.beans.distribuidor.financeiro.FaturamentoPedidoBean.faturarIntervalo(FaturamentoPedidoBean.java:154)
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 com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
at javax.faces.component.UICommand.broadcast(UICommand.java:325)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.processEvents(AjaxViewRoot.java:180)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:158)
at org.ajax4jsf.framework.ajax.AjaxViewRoot.processApplication(AjaxViewRoot.java:329)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Unknown Source)
Como informei anteriormente configuei o ssl do tomcat na seguinte forma:
<Connector port="8443"
maxThreads="100" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
scheme="https" secure="true" clientAuth="false"
keystoreType="PKCS11"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA"
keystorePass="safeweb" sslProtocol = "TLS" />
adicionei a seguinte linha no arquivo java.security:
security.provider.7=sun.security.pkcs11.SunPKCS11 /token.cfg
e no token.cfg eu tenho:
name = eToken
library = C:\WINDOWS\system32\eTpkcs11.dll.
O que há de errado com a configuração? Devo configurar o meu certificado no tomcat ou no código da aplicação? Alguem já trabalhou com certificados PKCS11 em dispositivos eToken? ou algo parecido?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/02/2008 18:09:10
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Alguém tinha comentado que o certificado foi emitido errado (sem o bit "Client") e por isso não tinha conseguido se conectar ao site https que requer Client Certificates.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2008 11:43:20
|
julianosott
Entusiasta Java
Membro desde: 07/02/2008 11:20:43
Mensagens: 18
Offline
|
O programa do eToken informa que o certificado é do tipo de autenticação de cliente e de autenticação de e-mail. tentei pegar o certificado pelo alias, mas tb não funcionou. Eu consigo pegar o certificado X509 e a chave do eToken no códio Java. Tem como colocar o certificado ou a chave na requisição por código?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/02/2008 19:12:59
|
julianosott
Entusiasta Java
Membro desde: 07/02/2008 11:20:43
Mensagens: 18
Offline
|
Recebi outro certificado PKCS11 de uma outra empresa e está dando o mesmo problema. Agora mudei para axis2 e aparece o erro 403 forbiden. O pior é que ele está acessando o certificado na hora de chamar o service da receita. Comprovei isso passando um alias errado pra configuração do certificado no tomcat. Ele informou que o alias estava errado. Coloquei o alias certo e ele não reclamou. E e luz do eToken pisca na hora. Ou ele não está enviando o certificado na requisição ou o certificado é inválido. Comentaram que poderia ser que o bit "Client" estaria desativado, como faço pra verificar isso? No programa do eToken tem a declaração: Certificate Usage: Autenticação de cliente, Email seguro. Só que está em portugues mesmo.
Só mais uma duvida: na hora de chamar o service eu estou mandando duas strings vazias para o cabeçalo e pra nfe. Esse erro de 403 não seria pq ele estaria tentando validar a assinatura do xml? Não tentei colocar o xml certo pq achei que é um problema de acesso ao serviço e ia colocar as informações certas depois.
Alguem já passou por um problema parecido?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/02/2008 15:40:46
|
julianosott
Entusiasta Java
Membro desde: 07/02/2008 11:20:43
Mensagens: 18
Offline
|
Boa tarde.
Estou tendo dificuldades para eviar um certificado digital para um web service da nota fiscal eletronica. Criei o web service cliente usando o axis2. Gostaria de saber como eu faço o envio de um certificado PKCS11 para um web service. Tentei setar o certificado da seguinte forma:
System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");
System.setProperty("javax.net.ssl.keyStore", "NONE");
System.setProperty("javax.net.ssl.keyStorePassword", "safeweb");
System.setProperty("javax.net.ssl.keyStoreProvider", "SunPKCS11-eToken");
Não funcionou. retorna um HTML com o erro 403.7, certificado cliente requerido. Tb tentei colocar antes esse código:
System.setProperty("java.protocol.handler.pkgs", "com.sun,net.ssl.internal.www.protocol");
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
Tb não funcionou. Tb estou tentando enviar o keystore de um outro certificado que tenho armazenado na máquina. Tb não funcionou. O erro é sempre o mesmo: retorna um HTML com o erro 403.7, certificado cliente requerido. Será que o certificado não é de cliente ou simplesmente não está sendo enviado? Se fosse erro no certificado acho que iria ser retornado um xml com o código do erro e não um html. Tenho 3 certificados aqui, sendo dois A3 e um A1, e nenhum funciona. Alguem pode me dar uma luz?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/02/2008 20:33:01
|
vm
Thread.start()
Membro desde: 29/12/2006 19:49:36
Mensagens: 49
Offline
|
Boa noite
Para quem quiser saber, Juliano e eu conseguimos estabelecer a conexão no server.
O erro foi na hora de extrair o certificado no Internet Explorer, tem que escolher a opção "Sim, exportar a chave particular", depois escolhemos "Troca de imformações pessoais PKCS n 12(*.pfx)" selecione "Ativar proteção de alta segurança".
Na classe que chamamos o serviço:
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
System.setProperty("javax.net.ssl.keyStore","caminho\\certificado.extensao_que_exportou");
System.setProperty("javax.net.ssl.keyStorePassword", "Senha_do_certificado");
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", "caminho\\certificados_do_server");
Qualquer dúvida entrar em contato teremos prazer em ajudar(GRATUITAMENTE, SEM QUERER VENDER CONSUTORIA), pois não desejo que ninguem passe o que passamos para descobir esse detalhe.
michelvalent@gmail.com, msn - michelvalentin@hotmail.com
Aqui todos se ajudam.
|
Desenvolvedor J2EE / J2ME
michelvalent@gmail.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2008 23:17:29
|
mvelho
Smalltalk
Membro desde: 23/10/2004 16:28:50
Mensagens: 2
Offline
|
Parabéns!!! Vcs estão ajudando varios desenvolvedores... Agora lendo essas dicas, comecei a achar a luz no fim do tunel. Valeu...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/03/2008 23:18:57
|
julianomatias
What is classpath?
Membro desde: 05/03/2008 22:21:53
Mensagens: 5
Offline
|
Olá Pessoal
bom, como todos desse tópico estou com o processo de nota fiscal eletrônica.
O Michel Valentin me ajudou muito, e pediu que postasse aqui as soluções que eu encontrasse
pois já havia ajudado diversas pessoas e empresas, sem cobrar nada, pedindo apenas que postassem aqui as soluções
e como podemos ver ninguém retribuiu, então vamos lá a algumas considerações.
CERTIFICADO DIGITAL CLIENTE.
Se você está tentando transmitir, e está recebendo uma msg com o código 403.7 no corpo da resposta então o problema é o certificado cliente.
Se você está na máquina que solicitou o certificado pela internet sem problemas, mas se não você deve ter
recebido do seu cliente um disquete com um certificado .pfx e este deve ser instalado no seu IE.
Na sua aplicação, ao apontar o KeyStore, indique diretamente o arquivo do disquete, não instale e exporte que não dará certo.
CERTIFICADO DO SERVIDOR.
Se está dando uma exceção parecida com :
então seu problema é com certeza o certificado do servidor.
Se seu caso for para o RS, fique tranquilo, no site da SEFA do RS tem muita informação útil
No meu caso, estou implementando para o PR, e tive dificuldades em conseguir qual era a unidade certificadora
mas depois de conversar com uma pessoa da Celepar (Pa...), que teve a boa vontade de me atender fiquei sabendo
que é a "CertSign", e os certificados necessários são:
1 - ICP-Brasil
2 - CertiSign Multipla
3 - CertiSign Multipla V3
e podem ser encontrados no site http://www.iti.gov.br/twiki/bin/view/Certificacao/RepositoriodaACRaiz
Esses certificados devem ser instalados, e depois de instalados deve ser "empacotados" com o keytool
esse arquivo empacotado, gerado pelo keytool será informado no seguinte código.
Bom gente, espero ter ajudado, e caso tenham alguma dúvida podem entrar em contato
pelo email julianomatias.grupos @ gmail.com
com o assunto NOTA FISCAL ELETRONICA
terei o maior prazer em ajudar, assim como fui ajudado pelo Michel.
e quem tiver soluções, poste por favor, ajude também.
[]´s
Juliano Matias
This message was edited 2 times. Last update was at 15/03/2008 08:18:29
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/03/2008 08:15:23
|
julianomatias
What is classpath?
Membro desde: 05/03/2008 22:21:53
Mensagens: 5
Offline
|
This message was edited 1 time. Last update was at 15/03/2008 08:16:54
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/04/2008 21:52:57
|
developermaster
HelloWorld
Membro desde: 07/10/2007 23:52:31
Mensagens: 10
Offline
|
Cara, como que faz pra empacotar os certificados no keytool???
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/04/2008 07:31:14
|
vm
Thread.start()
Membro desde: 29/12/2006 19:49:36
Mensagens: 49
Offline
|
Bom dia
Cara também não sabia direito, li um tópico de um castelhano e consegui resolver todas minhas dúvidas.
Ai o site: http://www.programacion.net/java/tutorial/apachesoap/3/
|
Desenvolvedor J2EE / J2ME
michelvalent@gmail.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/04/2008 08:29:58
|
igor.montezano
Entusiasta Java
![[Avatar]](/images/avatar/3c3961f8fc1f905eb7d2a9d96cd84298.png)
Membro desde: 18/01/2008 08:31:04
Mensagens: 22
Offline
|
Assim o KeyTool vai importar o teu certificado para dentro do keystore que tu acaba de criar. Ele vai pedir uma nova senha para o novo keystore.
O caminho para o KeyStore vai ser usado no segundo trecho de código passado pelo julianomatias.
|
|
|
 |
|
|