网络重试机制优化-关于https证书验证

场景:Android端带一个HTTPS使用系统验证的需求,目前暂不需要对证书的验证。

关键核心类:HttpsUtils

关键核心方法:getSslSocketFactory

目前实施方案是将所有的OkHttpClient.Builder.sslSocketFactory方法屏蔽掉即可,可实现在代理环境下无法通过fiddler对Https请求进行抓包操作,但同时会导致在代理环境下正式环境提示无证书验证的问题。

根据上述问题场景,额外在mta_network_security_config.xml下新增以下代码,可实现在代理环境and测试环境下能使用系统和用户的证书,对Https的访问进行抓包操作:

<network-security-config>
    <debug-overrides>
        <trust-anchors>
            <certificates src="system"/>
            <certificates src="user"/>
        </trust-anchors>
    </debug-overrides>
</network-security-config>

关于Https证书验证问题,建议使用自认证证书或是商业证书进行认证,这样可以实现在代理环境下APP正常使用且不会暴露Https请求,增加安全性且不会影响某些异常用户环境下的操作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容