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

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);

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