.NET dla błędu XA4252 systemu Android

Przykładowy komunikat

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

Element <AndroidMavenLibrary> określa adres URL repozytorium Maven przy użyciu http:// zamiast https://. Pobieranie artefaktów za pośrednictwem zwykłego protokołu HTTP jest zagrożeniem bezpieczeństwa, ponieważ połączenie nie jest szyfrowane i jest narażone na ataki typu man-in-the-middle i naruszenie łańcucha dostaw.

Ta kontrola jest zgodna z zachowaniem domyślnym w systemach Gradle (allowInsecureProtocol) i Maven (<blocked>http://*</blocked>) w celu ochrony w głębi systemu i wzmacniania łańcucha dostaw.

Rozwiązanie

Jeśli to możliwe, użyj adresu URL HTTPS dla repozytorium Maven:

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

Jeśli repozytorium nie obsługuje protokołu HTTPS i rozumiesz implikacje dotyczące zabezpieczeń, ustaw opcję AllowInsecureHttp="true" jawnego wyrażenia zgody na niezabezpieczony protokół HTTP:

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