博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTPS双向认证
阅读量:6413 次
发布时间:2019-06-23

本文共 935 字,大约阅读时间需要 3 分钟。

版本说明

httpclinet:4.3.1

jdk:1.6
tomcat:6

https双向认证

参考文章

按照该文章所写代码会报如下错误

HTTPS双向认证

解决办法

第一种

参照https://blog.51cto.com/2074199/2088928

则将代码增加如下粗体:
HttpClients.custom().useSystemProperties().setDefaultRequestConfig(defaultRequestConfig).setSslcontext(sslcontext).build();

第二种

参照https://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://blog.51cto.com/2074199/2121232

你可能感兴趣的文章
chrome下点击文件选择框速度很慢
查看>>
你真的了解git吗?
查看>>
IcceCream 的Linux软件清单
查看>>
[swift 进阶]读书笔记-第八章:错误处理 C8P4 将错误桥接到Objective-C
查看>>
Linux 文件传输
查看>>
字符串、列表、字典
查看>>
网站记录
查看>>
你好,promise
查看>>
简单的顺序表
查看>>
IOS组件化方案总结
查看>>
HTML5的新特性概述(上)
查看>>
redis原理
查看>>
从零开始学习测试
查看>>
关于小程序基础库
查看>>
LeetCode 之 JavaScript 解答第206题 —— 反转链表(Reverse Linked List)
查看>>
VUE简易案例一
查看>>
js时间+函数+匿名函数,...
查看>>
6、Flutter Widget(IOS Style) - CupertinoSlider和CupertinoSwitch;
查看>>
干掉高德地图7.2.0版iOS客户端的反动态调试保护
查看>>
Vuex的使用
查看>>