首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Java中 怎么跳过Https的证书检测

2013-04-09 
Java中 如何跳过Https的证书检测import java.net.URLimport java.security.SecureRandomimport java.sec

Java中 如何跳过Https的证书检测

import java.net.URL;import java.security.SecureRandom;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import javax.net.ssl.HostnameVerifier;import javax.net.ssl.HttpsURLConnection;import javax.net.ssl.KeyManager;import javax.net.ssl.SSLContext;import javax.net.ssl.SSLSession;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;public class SSLTest {    public static void main(String [] args) throws Exception {        // configure the SSLContext with a TrustManager        SSLContext ctx = SSLContext.getInstance("TLS");        ctx.init(new KeyManager[0], new TrustManager[] {new DefaultTrustManager()}, new SecureRandom());        SSLContext.setDefault(ctx);        URL url = new URL("https://mms.nw.ru");        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();        conn.setHostnameVerifier(new HostnameVerifier() {            @Override            public boolean verify(String arg0, SSLSession arg1) {                return true;            }        });        System.out.println(conn.getResponseCode());        conn.disconnect();    }    private static class DefaultTrustManager implements X509TrustManager {        @Override        public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}        @Override        public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {}        @Override        public X509Certificate[] getAcceptedIssuers() {            return null;        }    }}

?

http://stackoverflow.com/questions/1828775/how-to-handle-invalid-ssl-certificates-with-apache-httpclient

热点排行