0

从 Android API 级别 24 开始,可以定义网络安全配置并从 Android 清单中引用它:

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
   <application android:networkSecurityConfig="@xml/network_security_config"
                   ... >
      ...
  </application>
</manifest>

来源:https ://developer.android.com/training/articles/security-config.html#manifest (访问时间:2021-08-10)

我有一个用例,其中许多 CA 证书包含在我正在使用的 Android 库中。我想使用信任锚将我的安全配置限制为这些证书。

网络安全配置允许这样做:

<?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>

来源:https ://developer.android.com/training/articles/security-config.html#ConfigCustom (2021-08-10访问)

但是证书位于我的 Android 库中,我不想复制这些文件。如何从我的应用程序网络安全配置中引用库 CA 证书?

4

1 回答 1

0

CA 证书应该放在库项目的文件res/raw夹中,而不是文件夹中。assets这样就可以通过网络安全配置使用库引用来自应用程序的证书。

至少现在一切都编译好了。虽然,由于另一个问题,我还没有验证完全工作的设置,请参阅:将网络​​安全配置与 OkHttp 和自定义 CA 结合

于 2021-08-11T08:49:52.550 回答