java https连接
2015-07-28 16:50
549 查看
java的https连接有两种方法,一种是将ssl证书安装到jdk证书目录下;另一种方法是忽略证书检查(这种方法不安全)
这里只列出第二种:
在使用HttpURLConnection之前加上下面代码。
if (reqUrl.startsWith("https"))
{
//It's ssl connection. Let's ignore the certificate check.
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
} };
// Install the all-trusting trust manager
final SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
// Create all-trusting host name verifier
HostnameVerifier allHostsValid = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
// Install the all-trusting host verifier
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
}
这里只列出第二种:
在使用HttpURLConnection之前加上下面代码。
if (reqUrl.startsWith("https"))
{
//It's ssl connection. Let's ignore the certificate check.
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
} };
// Install the all-trusting trust manager
final SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
// Create all-trusting host name verifier
HostnameVerifier allHostsValid = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
// Install the all-trusting host verifier
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
}
相关文章推荐
- poj1637 混合图欧拉回路的求解 网络流
- 配置Tomcat使用https协议(配置SSL协议)
- Apache利用JDK自身keytool实现HTTPS
- CentOS 6.6 新安装系统的网络IP配置
- Apache 映射端口-http_proxy方式
- samba服务器的安装及网络共享
- 网络访问,返回状态码
- 【随行日志】与网络有关-?的含义
- Apache HTTP Server windows环境下载安装启动
- 博客搬到了http://xianglong.me
- js实现拖拽(参考网络)
- 网络配置和文件服务器
- ***工具
- iOS开发网络数据之AFNetworking使用
- [stm32] SIM808模块之发短信\GPS\TCP\HTTP研究
- app 常见网络性能
- 网络安全协议比较(PKI SSH SSL SET)
- 如何解决XMLHttpRequest cannot load file~~~~~~~Origin 'null' is therefore not allowed access
- 网络攻击技术——Broken authentication
- ASIHTTPRequest异步请求