本篇文章已授权微信公众号 guolin_blog(郭霖)独家发布
对于Android N之前自定义或非CA证书的使用,一般有两种方式:
1、自定义X509TurstManager和HostnameVerifier,替换原有的HttpsURLConnection中的校验类。自定义方法以烂大街的转载版为主。
2、在手机中安装证书。通过设置列表完成
其实从2016年5月17日起,Google Play内容政策和开发者分发协议第 4.4条的相关规定中就指出将禁止发布X509TrustManager接口实施方式不安全的任何新应用或应用更新。传统的针对X509TurstManager和HostnameVerifier的修改不符合Google商店的发布要求。虽然我们在墙的庇护下,不用去google商店发布,但不可否认它确实是一种安全隐患,很容易遭受中间人攻击(MITM攻击)。
因此,在Android N中,google在这证书认证一块调整了原来的校验策略。即默认配置不会信任用户添加的CA证书。同时提供网络安全性配置规范证书的使用。
根据官网的介绍(https://developer.android.google.cn/training/articles/secur