问题描述
在检查第三方android应用程序的network-security-config.xml时,我发现在domain-config标记中,使用了两个标记:“ clearTextTrafficPermitted = True”和“ trust-anchor”,其中列出了证书来源。我担心的是,当应用程序开发人员已经掌握了CA证书列表时,为什么会允许明文传输到特定域,这对安全性有何影响?另外,请您详细说明一下此配置如何提供针对MITM攻击的安全性。
根据official android developer reference的标签定义已明确说明:
标签:“信任 锚”指定“用于安全连接的信任锚集”和 “证书”指定“信任锚的X.509证书集” 元素”。
以下是network-security-config的摘录:
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates overridePins="true" src="system"/>
<certificates overridePins="true" src="user"/>
</trust-anchors>
</base-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="false">Domain1
</domain>
<domain includeSubdomains="false">Domain2
</domain>
<domain includeSubdomains="true">Domain3
</domain>
<trust-anchors>
<certificates src="@raw/godaddy_root"/>
<certificates src="@raw/godaddy_g2"/>
<certificates src="@raw/digicert_root"/>
<certificates src="@raw/digicert_g2"/>
</trust-anchors>
</domain-config>
请注意,该应用程序的目标版本为sdk 28。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)