0

アプリにバンドルした一連の CA によって署名されたサーバーへの接続を制限する network-security-config を追加しようとしています (実際には、アプリで使用されるライブラリにあります)。CA がトラスト ストアにロードされる場所で機能する既存のセットアップがあります。network-security-config を追加してテストしようとしましたが、うまくいかないようです。

これが私がやろうとしたことです:

AndroidManifest.xml:

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

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
  • Android 11 (=API 30)

network-security-configuration が適用されないのはなぜですか?

4

0 に答える 0