HTTPS雙向認證
阿新 • • 發佈:2018-05-28
recv failed https雙向認證 如果需要只支持https可參照
版本說明
httpclinet:4.3.1
jdk:1.6
tomcat:6
https雙向認證
參考文章
https://blog.csdn.net/zhongming_software/article/details/8592331 按照該文章所寫代碼會報如下錯誤
解決辦法
參照http://blog.51cto.com/2074199/2088928,然後將sslcontext改成如下代碼
InputStream ksis = new FileInputStream(new File("client.p12的路徑")); InputStream tsis = new FileInputStream(new File("server.jks的路徑")); KeyStore ks = KeyStore.getInstance("PKCS12"); ks.load(ksis, "storepass密碼".toCharArray()); KeyStore ts = KeyStore.getInstance("JKS"); ts.load(tsis, "storepass密碼".toCharArray()); sslcontext = SSLContexts.custom().loadKeyMaterial(ks, "keypass".toCharArray()).loadTrustMaterial(ts, new TrustSelfSignedStrategy()).build();
loadKeyMaterial()重載方法是加載客戶端證書用的
loadTrustMaterial()重載方法是加載服務器端相關信息用的(我們就是使用 new TrustSelfSignedStrategy()方法自己實現了一個信任策略,不對服務器端的證書進行校驗)
HTTPS雙向認證