读书人

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

发布时间: 2013-04-09 16:45:09 作者: rapoo

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

读书人网 >开源软件

热点推荐