.NET for Android エラー XA4252

メッセージ例:

error XA4252: Insecure HTTP Maven repository URL 'http://repo.example.com/maven2/' is not allowed. Use an HTTPS URL, or set AllowInsecureHttp="true" metadata on the item to override this check.

Issue

<AndroidMavenLibrary>項目は、https://ではなくhttp://を使用して Maven リポジトリの URL を指定します。 接続が暗号化されておらず、中間者攻撃やサプライ チェーンの侵害に対して脆弱であるため、プレーン HTTP 経由で成果物をダウンロードすることはセキュリティ 上のリスクです。

このチェックは、Gradle (allowInsecureProtocol) と Maven (<blocked>http://*</blocked>) の既定の動作に合わせて調整され、多層防御とサプライ チェーンのセキュリティ強化が行われます。

ソリューション

可能な限り、Maven リポジトリの HTTPS URL を使用します。

<ItemGroup>
  <AndroidMavenLibrary Include="com.example:mylib" Version="1.0.0" Repository="https://repo.example.com/maven2/" />
</ItemGroup>

リポジトリが HTTPS をサポートせず、セキュリティへの影響を理解している場合は、安全でない HTTP を明示的にオプトインするように AllowInsecureHttp="true" を設定します。

<ItemGroup>
  <AndroidMavenLibrary Include="com.example:mylib" Version="1.0.0" Repository="http://repo.example.com/maven2/" AllowInsecureHttp="true" />
</ItemGroup>