并提到一个主要的用于客户真个证书:公钥证书
在前面文章中,自署名SSL证书对应的公钥证书为:mycer.cer(当然这名字是自己随便定的);在阿里云申请的CA证书中对应的公钥证书为:.pem
如果有不清楚的,请看之前先容过的文章:

一:https的大略先容及SSL证书的天生
二:https的SSL证书在做事器真个支配,基于tomcat,spring boot
Android自带的可信任的CA公钥证书还要解释一下,Android系统有自带的安卓认可的证书颁发机构(如:Wosign)颁发的可信任的CA公钥证书,大概有100多个,
可自己查看,各个手机的查看方法可能不一样,在我的手机中,能不才面的位置中找到:
“设置”->”更多设置“->”系统安全“->”信赖的凭据”
也便是说,如果你做事器的证书是安卓认可的证书颁发机构颁发的,那么你并不须要在Android端额外安装公钥证书,否则,你就须要安装。
注:在不同版本的Android系统上,可信任的CA证书可能是不一样的,如果你担心在别人的Android系统上可能此CA证书不被信赖,那你统一都安装也是没问题的
我在阿里云上申请的免费型DV SSL证书,是属于安卓认可的证书颁发机构颁发的,不须要额外安装,当然我们的自署名证书,是必需要安装的
实在我在测试的过程中,把自署名证书和阿里云上申请的免费型DV SSL证书都用同样的方法安装了,都是OK的
我们下面就开始基于okhttp来安装公钥证书了先看看我的okhttp和retrofit的gradle版本
增加一个OkhttpManager类
统一处理OkHttpClient的证书,完全的代码如下:
代码阐明
代码不少,实在最核心的代码为:
也便是通过
再
就能天生安装好了可信任证书的okHttpClient
OkhttpManager说完了,接下来,便是:
Activity中利用OkhttpManager1:先把公钥证书文件(如:自署名的mycer.cer或CA证书的:.pem)放到assets下,
如果利用AndroidStudio的同学,可能没有assets文件夹,自己建此文件夹,如我的为:app\src\main\assets
2:直接贴Activity紧张的代码:
大略吧,紧张代码就那两句,就天生了已安装公钥证书”mycer.cer”的mOkhttpClient
接下来的mOkhttpClient若何利用,大家都该当清楚了吧,如果不清楚只能看OkHttpClient的根本内容了
好了,OkHttpClient搞掂了
接下来就到Retrofit了大家该当知到Retrofit默认因此OkHttpClient来作为传输的,既然OkHttpClient搞掂了,那Retrofit就大略了
还是直接贴代码:
看,只需在Retrofit中多加一句
就把已安装了证书的mOkhttpClient作为Retrofit的传输了