Boa tarde,
Estou tentado Abrir um site seguro via Java mas tenho duas situações em dois ambientes.
Tenho um ambiente (Desenvolvimento) rodando com JRE1.5 (Já rodei nas Builds 05,07,09,11) tentando acessar um site seguro (HTTPS)
Não informei chave, nem certificado, nem nada. apenas especifiquei a URL, passei os parâmetros através do PostMethod do HTTPClient e perfeito!
Obtive resultado 100% OK.
Meu segundo ambiente é meu servidor, que está rodando JDK1.5_05 (já tentei no JRE1.5_07) rodando o mesmo programa.
Mas… (odeio essa parte do mas…)
ele me retornou este erro:
[09/Fev/2007 14:41:07:406] [#CUSTOMReceiverDicicoToBasf#] Exception: java.security.cert.CertificateException: Untrusted Server Certificate Chain
[12/Fev/2007 14:53:56:250] StackTrace: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Untrusted Server Certificate Chain
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.writeRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
at org.apache.commons.httpclient.HttpConnection$WrappedOutputStream.write(HttpConnection.java:1368)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:799)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2277)
at org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java:2657)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1093)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:675)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:529)
at pacote.EDIReceiver.receiveMessages(EDIReceiver.java:70)
at pacote.CUSTOMReceiver.receiveMessages(CUSTOMReceiver.java:57)
at pacote.ReceiverCommand.execute(ReceiverCommand.java:62)
at pacote.ReceiverFlow.receiveMessage(ReceiverFlow.java:248)
at pacote.ReceiverFlow.run(ReceiverFlow.java:97)
Caused by: java.security.cert.CertificateException: Untrusted Server Certificate Chain
at com.sun.net.ssl.X509TrustManagerJavaxWrapper.checkServerTrusted(Unknown Source)
at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unknown Source)
... 22 more
O meu programa na linha 70 (onde ele acusa o erro tem o seguinte fonte) é onde ele faz o “executeMethod” do HTTPClient.
Alguém tem alguma idéia?
Ats,
Endrigo Antonini