在Android应用中使用自定义证书的HTTPS连接(下)

本文详细介绍了如何在Android应用中安全地使用自定义证书进行HTTPS连接,包括生成KeyStore、使用自定义keyStore实现连接,以及更安全的双向认证HTTPS连接方式。重点讲解了keytool生成BKS格式KeyStore的过程,以及如何创建自定义SSLSocketFactory实现连接。
摘要由CSDN通过智能技术生成

因为这部分才是本文的重点,要说得详细一点,所以单独做成一篇来说。

安全地使用自定义证书的HTTPS连接方式

终极解决方案是:把证书编译到应用中去,由应用自己来验证证书。

生成KeyStore

要验证自定义证书,首先要把证书编译到应用中去,这需要JSSE提供的keytool工具来生成KeyStore文件。参考《Java 安全套接字编程以及 keytool 使用最佳实践》,我试过了用JKS格式,但是结果连接失败,报错:Wrong version of key store。后来看了SO的这个帖才知道必须使用BKS的1.46版。更详细的内容参考这篇《Using a Custom Certificate Trust Store on Android》。

这里所谓的证书,实际上就是公钥,你可以从web服务器配置的.crt文件或.pem文件里获得。比如12306就直接提供了公钥证书下载,真是“服务周到”啊。

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值