我试图了解网络安全配置和证书位。到目前为止,我没有必要费心在我的配置中设置信任锚,因为应用程序刚刚开始工作,并且依赖于服务器上设置的内容。
假设我有以下配置,没有指定信任锚点
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="false">
</domain-config>
</network-security-config>
因为我想我们有一条断裂的证书链(用sslchecker验证)..。)但我有一种情况,我无法向网络团队的同事解释,我也不明白。
为什么android应用程序在进行https调用时不工作,如果证书链被破坏(不能到达中间证书),但在浏览器中工作?
系统或用户意味着什么?我可以添加这个,然后应用程序就不会再给我“没有找到的认证路径的信任锚”
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
<trust-anchors>
<certificates src="system"/>
<certificates src="user"/>
</trust-anchors>
</base-config>
</network-security-config>
你能遮住灯光吗?看了看机器人的文档,但我不太清楚。你能花5分钟向我解释一下吗?这次谷歌帮不上忙
谢谢
发布于 2021-08-20 06:40:22
在这种情况下应用于证书的默认策略是什么?
默认情况下,来自所有应用程序的安全连接(如TLS和HTTPS)信任预先安装的系统CA,而针对Android6.0的应用程序(API级别23)以及更低的应用程序默认也信任用户添加的CA存储。应用程序可以使用base-config (用于应用程序范围内的自定义)或域-config(用于每个域的自定义)自定义自己的连接。
会信任我服务器中设置的任何证书吗?
您可以信任一组自定义CA,而不是平台默认设置。有关这方面的更多细节,请查看文档。https://developer.android.com/training/articles/security-config#CustomTrust
https://stackoverflow.com/questions/68842470
复制相似问题