根据Android N documentation -
默认情况下,以Android N为目标的应用仅信任系统提供的证书,不再信任用户添加的证书颁发机构(CA)。希望信任用户添加的CA的针对Android N的应用应使用网络安全配置来指定用户CA应如何信任。
我从文档中了解到,用户安装的证书将不再受到Android N的信任。因此,应该有一种方法可以让它信任。 Doc说您可以在清单文件中指定网络sec配置,例如 -
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
然后指定网络配置 -
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config>
<domain includeSubdomains="true">example.com</domain>
<trust-anchors>
<certificates src="@raw/my_ca"/>
</trust-anchors>
</domain-config>
</network-security-config>
但这显然是静态数据。我很想知道是否有一种方法可以动态地在信任存储中添加证书,因为在实际场景中将有动态证书和到期场景。 Docs没有为我清楚这些。
Q1。关于如何实现动态添加可信证书的任何想法或建议?
Q2。这是否也会影响其他证书,例如可能不是应用特定的wifi证书?如何信任自定义wifi证书呢?如何将其添加到本机信任存储区?