From: Ramachandran, N. <ne...@am...> - 2005-08-16 23:24:25
|
Hi, I want to accept all the certificates irrespective of whether it is = trusted or not. I tried the following code snippet but, still I am = getting CertificateException. Is there a solution for this? TrustManager[] trustAllCerts =3D new TrustManager[]{ new X509TrustManager() { public java.security.cert.X509Certificate[] = getAcceptedIssuers() { return null; } public void checkClientTrusted( java.security.cert.X509Certificate[] certs, = String authType) { } public void checkServerTrusted( java.security.cert.X509Certificate[] certs, = String authType) { } } }; =20 // Install the all-trusting trust manager try { SSLContext sc =3D SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new = java.security.SecureRandom()); = HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); } catch (Exception e) { } =20 =20 Exception stacktrace: javax.net.ssl.SSLHandshakeException: = java.security.cert.CertificateException: Couldn't find trusted = certificate at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.a(Unknown = Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown = Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown = Source) at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SunJSSE_az.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SunJSSE_ax.a(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown = Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(Unknown = Source) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(Unknown = Source) at = com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source) at java.io.BufferedOutputStream.flushBuffer(Unknown Source) at java.io.BufferedOutputStream.flush(Unknown Source) at = org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(Htt= pConnection.java:825) at = org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.= java:1967) at = org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:= 993) at = org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMet= hodDirector.java:393) at = org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethod= Director.java:168) at = org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:39= 3) at = org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:32= 4) at = com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnec= tion.java:137) at = com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:15= 88) at = com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:15= 62) at = com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:359) at = com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:415) at TestPopup.main(TestPopup.java:62) Caused by: java.security.cert.CertificateException: Couldn't find = trusted certificate at = com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.a(Unknown Source) at = com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unkn= own Source) at = com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unkn= own Source) ... 22 more =20 Thanks, Neel. |