您的位置:首页 > 理论基础 > 计算机网络

https请求绕过证书

2013-05-24 18:44 176 查看
// 创建X509TrustManager

private
static
X509TrustManager trustManager =
newX509TrustManager() {

public
void
checkClientTrusted(X509Certificate[] xcs, String string)

throws CertificateException {

}

public
void
checkServerTrusted(X509Certificate[] xcs, String string)

throws
CertificateException{

}

public X509Certificate[] getAcceptedIssuers() {

return
null
;

}

};

// 重写一个trustManager,忽略证书的问题

// 基于trustmanager,声明一个httpclient

HttpClient httpclient = newDefaultHttpClient();

SSLContext ctx =SSLContext.getInstance("SSL");

ctx.init(null,
new TrustManager[] { trustManager },
null);

SSLSocketFactory ssf = newSSLSocketFactory(ctx);

// 忽略掉HostName的比较,否则访问部分地址可能会报异常

ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

ClientConnectionManagerccm = httpclient.getConnectionManager();

SchemeRegistry sr =ccm.getSchemeRegistry();

sr.register(new Scheme("https", 443, ssf));

httpclient= newDefaultHttpClient(ccm, httpclient.getParams());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: