.NET för Android-fel XA4252

Exempelmeddelande

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.

Problematik

Ett <AndroidMavenLibrary> objekt anger en URL för Maven-lagringsplatsen med i http:// stället för https://. Att ladda ned artefakter via vanlig HTTP är en säkerhetsrisk eftersom anslutningen inte är krypterad och är sårbar för man-in-the-middle-attacker och kompromisser i leveranskedjan.

Den här kontrollen överensstämmer med standardbeteendet i Gradle (allowInsecureProtocol) och Maven (<blocked>http://*</blocked>) för skydd på djupet och härdning i leveranskedjan.

Lösning

Använd en HTTPS-URL för Maven-lagringsplatsen när det är möjligt:

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

Om lagringsplatsen inte stöder HTTPS och du förstår säkerhetskonsekvenserna anger AllowInsecureHttp="true" du att du uttryckligen ska välja osäker HTTP:

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