weblogic SSL证书错误

来源:互联网 发布:南京数据恢复公司 编辑:程序博客网 时间:2024/04/26 06:24



引用的包

import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.ProtocolException;import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import javax.net.ssl.HostnameVerifier;import javax.net.ssl.HttpsURLConnection;import javax.net.ssl.SSLContext;import javax.net.ssl.SSLSession;import javax.net.ssl.SSLSocketFactory;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;

添加

java.net.URL url = new java.net.URL(null, action, new sun.net.www.protocol.https.Handler());  HttpURLConnection http = (HttpURLConnection) url.openConnection();trustALLSSLCertificates(http);

方法

private static void trustALLSSLCertificates(HttpURLConnection con) throws NoSuchAlgorithmException, KeyManagementException {          ((HttpsURLConnection) con).setHostnameVerifier(new HostnameVerifier() {              public boolean verify(String hostname, SSLSession session) {                  return true;              }        });          // Ignore Certification          TrustManager ignoreCertificationTrustManger = new X509TrustManager() {                public void checkClientTrusted(X509Certificate certificates[], String authType) throws CertificateException {                }                public void checkServerTrusted(X509Certificate[] ax509certificate, String s) throws CertificateException {                }                public X509Certificate[] getAcceptedIssuers() {                  return null;              }        };          // Prepare SSL Context          TrustManager[] tm = { ignoreCertificationTrustManger };          SSLContext sslContext = SSLContext.getInstance("SSL");          sslContext.init(null, tm, new java.security.SecureRandom());            // 从上述SSLContext对象中得到SSLSocketFactory对象          SSLSocketFactory ssf = sslContext.getSocketFactory();          ((HttpsURLConnection) con).setSSLSocketFactory(ssf);      }


0 0