Android HTTPS之自签名证书认证(二)

本文详细介绍了在Android应用中实现HTTPS双向认证的步骤,包括生成客户端证书库,配置服务端,以及Android端的设置。文章指出,由于Android只识别bks格式证书,需要将.p12转换为.bks格式才能成功建立双向认证连接。
摘要由CSDN通过智能技术生成

使用okhttp框架 双向认证

在上一篇博客中《Android HTTPS之自签名证书认证(一)单向认证》,我们主要介绍了https单向认证,单向认证安全级基本上可以满足大部分应用场景,但仍有部分应用场景需要更高的安全级别,如涉及资金安全等场景,接下来在这一篇博客中,我们将在上一篇博客的基础上介绍一下如何进行双向认证,双向认证安全级别更高。

1.1 生成客户端证书库及证书

首先对于双向证书验证,也就是说,客户端也要有个“.p12文件”,服务器那边会同时有个“cer文件”与之对应。

我们在上一篇博客中已经生成了服务端证书及证书:server.p12和server.cer文件。

接下来我们依葫芦画瓢,生成客户端证书库及证书,我们命名为:client.p12,client.cer.

  • 生成client端证书库
keytool -genkey -alias client -keyalg RSA -storetype PKCS12 -keysize 2048 -keystore E:/ssl/client.p12 -dname "CN=Liting Wang,OU=onroad,O=onroad,L=Xiamen,ST=Fujian,c=cn" -validity 3650 -storepass 123456 -keypass 123456
  • 利用证书库client.p12来签发证书
keytool -export -alias client -file E:/ssl/client.cer -keystore E:/ssl/client.p12 -storepass 123456

1.2配置服务端

服务端的配置比较简单,跟单向认证差不多,不过需要添加些属性。

<Connector SSLEnabled="true" clientAuth="true"  
                maxThreads="150" port="8443" 
                protocol="org.apache.coyote.http11.Http11NioProtocol" 
                scheme="https" secure="true" sslProtocol="TLS"
                keystoreFile="conf/server.p12" keys
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值