.NET pro Android – chyba XA4252

Ukázková zpráva

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.

Problém

Položka <AndroidMavenLibrary> určuje adresu URL úložiště Maven pomocí http:// namísto https://. Stahování artefaktů přes prostý protokol HTTP představuje bezpečnostní riziko, protože připojení není šifrované a je zranitelné vůči útokům typu man-in-the-middle a ohrožení dodavatelského řetězce.

Tato kontrola odpovídá výchozímu chování v Gradle (allowInsecureProtocol) a Mavenu (<blocked>http://*</blocked>) pro hloubkovou ochranu a posílení dodavatelského řetězce.

Řešení

Kdykoli je to možné, použijte adresu URL HTTPS pro úložiště Maven:

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

Pokud úložiště nepodporuje PROTOKOL HTTPS a rozumíte důsledkům zabezpečení, nastavte AllowInsecureHttp="true" explicitně výslovný souhlas se nezabezpečeným protokolem HTTP:

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