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

2021-12-04  本文已影响0人  薛之东_HankGreen

场景: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请求,增加安全性且不会影响某些异常用户环境下的操作。

上一篇下一篇

猜你喜欢

热点阅读