Fehler XA4252 in .NET für Android

Beispielnachricht

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

Ein <AndroidMavenLibrary> Element gibt eine Maven-Repository-URL unter Verwendung von http:// anstelle von https:// an. Das Herunterladen von Artefakten über einfaches HTTP ist ein Sicherheitsrisiko, da die Verbindung nicht verschlüsselt ist und anfällig für Man-in-the-Middle-Angriffe und Lieferkettenkompromittierung ist.

Diese Überprüfung entspricht dem Standardverhalten in Gradle (allowInsecureProtocol) und Maven (<blocked>http://*</blocked>) zur mehrschichtigen Absicherung und zur Absicherung der Lieferkette.

Lösung

Verwenden Sie nach Möglichkeit eine HTTPS-URL für das Maven-Repository:

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

Wenn das Repository kein HTTPS unterstützt und Sie die Sicherheitsauswirkungen verstehen, setzen Sie AllowInsecureHttp="true", um unsicheres HTTP ausdrücklich zuzulassen:

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