https依赖一种实现方式,目前通用的是SSL,数字证书是支持这种安全通信的文件。另外有SSL衍生出TLS和WTLS,前者是IEFT将SSL标准化之后产生的(TLS1.0),与SSL差别很小,后者是用于无线环境下的TSL。
图解HTTPS协议加密解密全过程
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。
HTTPS其实是由两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图。
不同Android版本针对于TLS协议的默认配置图如下:
从上图可以得出如下结论:
服务器配置已经可以支持TLS1.0、TLS1.1、TLS1.2 , 客户端就不需要做任何处理,Android4.x系统会使用TLS1.0, 而 Android 4.4及之上版本会选择TLS 1.2
当服务器只支持TLS1.2,那需要Android4.x打开对TLS1.1和TLS1.2的支持
网络请求库使用的是okhttp,在APP中可以这样初始化OkHttpClient,这里通过在AppParams中配置isBypassAuthen,来判断是否绕过认证,也就是无条件信任所有HTTPS网站
这里只是 单向认证 客户端对服务端证书的单向认证
先建立自定义的SSLSocketFactory,enableTLSOnSocket里面设置支持的 TLS 版本
建立OkHttpClient客户端时,设置进去
链接: https://blog.csdn.net/s003603u/article/details/53907910
是一个安全通信协议的不同版本。现在网络通信加密最主流的方式之一。这几种版本,是你的浏览器和远程服务器自动协商的。当然,你也指定使用哪种版本的协议。先有SSL1.0,然后是2.0,3.0,再往后就是TLS1.0(名称变化了),TLS1.1,TLS1.2现在基本上使用的是TLS1.0,当前应用很广泛,最主流的网络加密协议。看到URL的前缀为 https 还不是 http,就说明已经使用了这种协议了。 所以直接选择1.0即可欢迎分享,转载请注明来源:夏雨云
评论列表(0条)