mlc*_*mlc 12 security ssl android google-play-services okhttp
我们在Android项目中使用okhttp与我们的API交谈; 所有通信都使用SSL/TLS加密,我们的服务器可以说SPDY.我们还在Google Play服务中为融合位置提供商和其他一些功能进行链接.
我们目前没有使用的Play服务的一部分是他们的安全提供商,它承诺升级设备的SSL堆栈以某种方式防止各种漏洞.但是,文档对于提供程序实际执行的操作以及SSL方法受其影响的内容有些模糊,哪些不是(提供了一些示例,但不是全面的列表).
所以,我想我的问题是双重的:
动态安全提供程序是否可以使用okhttp,或者okhttp是否依赖于不受安装提供程序影响的较低级别(或更高级别)的API?
假设它确实有效,有什么好处?是否值得关注安全利益?它实际上是否会修复okhttp 2.2中与ALPN相关的本机崩溃,正如nfuller提示的那样?
TL; DR:是的.
Play服务动态安全提供程序是JCA 加密服务提供程序(CSP).Java程序可以注册多个CSP,每个CSP可以提供不同的安全原语实现,如散列算法.以下是Android 2.3中包含的CSP列表:
当您按照Android开发人员文档中的说明激活Play服务动态安全提供程序时,只需将另一个提供程序添加到列表顶部:
当OkHttp(或您的应用程序的任何其他部分)使用JCA"执行安全性"时,它根据其功能和首选项(排序顺序)选择提供程序,这意味着将使用GmsCore_OpenSSL.
通过依赖GmsCore_OpenSSL而不是与您的应用程序运行的设备捆绑在一起的任何内容,您可以获得所提供的安全原语的最新实现,即使在使用Android 2.3的古老设备上,即不再有SSLv3,TLS 1.2(Android 2.3没有使用当前的密码套件和修补的安全漏洞,甚至支持TLS 1.1.由于播放服务是独立于Android更新的,因此Play服务动态安全提供程序保持最新状态,因此在当前设备上使用它也是有意义的.
如果您希望定位无法访问Play服务的设备,或者您不想使用Play服务,则可以在应用程序中包含conscrypt.自3.10版以来,OkHttp支持它.但是,您必须定期更新您的应用.
| 归档时间: |
|
| 查看次数: |
1667 次 |
| 最近记录: |