HTTPS系列之应用篇

一般支持的https的网站基本都是CA机构颁发的证书,默认情况下是可以信任

如果是自己生成的证书,就要自己配置一下

单向认证配置:

客服端配置
需要的证书 xxx.cer

1,可以将证书文档copy到安卓工程目录下只要能读取到就行, 比如放在assets文件夹下
或者使用 keytool -printcert -rfc -file xxx.cer获得证书的字符串形式.
2,配置到对应的网络请求工具

WebServer服务端配置
1,生成证书
keytool -genkey -alias app_server -keyalg RSA -keystore app_server.jks -validity 3600 -storepass 123456
执行命令即可生成一个证书请求文件app_server.jks,密钥库口令为:123456.
2,用app_server.jks来签发证书
keytool -export -alias app_server -file app_server.cer -keystore app_server.jks -storepass 123456
可生成包含公钥的证书 app_server.cer 这个给客户端配置要用
3,配置Tomcat
配置tomcat/conf/sever.xml
Service标签中,加入

 

双向证书验证

客户端:
1,需要配置服务端给的xxx.cer文件
2,同时和单向一样要再生成一套 xxx.cer, xxx.jks文件并且要配置 xxx.jks文件
但是xxx.jks是java默认支持的,android并不支持,所以要使用工具进行转换成bks格式的证书文件

服务端:
1,keytool -import -alias app_client -file app_client.cer -keystore app_client_for_sever.jks
执行命令将 xxx.cer添加到 xxx.jks当中

2,在Connector标签,添加些属性.其他属性与前面一致

  

参考:
http://blog.csdn.net/lmj623565791/article/details/48129405

你可能感兴趣的:(HTTPS系列之应用篇)