0

我正在尝试添加一个 network-security-config 来限制连接到由我捆绑在应用程序中的一组 CA 签名的服务器(实际上是在应用程序使用的库中)。我有一个现有的设置,适用于将 CA 加载到信任库的位置。现在我添加了一个 network-security-config 并尝试对其进行测试,它似乎不起作用。

这是我试图做的:

AndroidManifest.xml:

<application
            ...
            android:networkSecurityConfig="@xml/network_security_configuration"
...

网络安全配置.xml:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="false">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
    <debug-overrides>
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </debug-overrides>
</network-security-config>

我对这个新配置的期望是不允许连接到由自签名 CA 签名的服务器,例如我捆绑的那些。但是当我运行应用程序时,连接工作正常,所以网络安全配置似乎不起作用......

我最终想做的是将我的 CA 添加到信任锚:

<certificates src="@raw/my_ca" />

我的设置,应用程序:

  • Android 应用 Gradle 插件 7.0
  • 针对 API 30

图书馆:

  • Android 应用 Gradle 插件 7.0
  • 针对 API 30

电话:

  • 三星盖乐世 S20
  • 安卓 11 (=API 30)

为什么没有应用网络安全配置?

4

0 回答 0