Správa rozsahu důvěryhodnosti balíčků

Podepsané balíčky nevyžadují instalaci žádné konkrétní akce; Pokud se ale obsah od podpisu změnil, instalace se zablokuje s chybou NU3008.

Upozorňující

Balíčky podepsané nedůvěryhodnými certifikáty se považují za nepodepsané a instalují se bez upozornění nebo chyb jako jakýkoli jiný nepodepsaný balíček.

Konfigurace požadavků na podpis balíčku

Poznámka:

Vyžaduje NuGet 4.9.0+ a Visual Studio verze 15.9 a novější ve Windows.

Pomocí příkazu můžete nakonfigurovat, jak klienti NuGet ověřují podpisy balíčků nastavením signatureValidationMode hodnoty v requiresouboru nuget config nuget.config.

nuget.exe config -set signatureValidationMode=require
  <config>
    <add key="signatureValidationMode" value="require" />
  </config>

Tento režim ověří, že všechny balíčky jsou podepsané libovolnými certifikáty důvěryhodnými v nuget.config souboru. Tento soubor umožňuje určit, kteří autoři a/nebo úložiště jsou důvěryhodní na základě otisku prstu certifikátu.

Autor balíčku důvěryhodnosti

Chcete-li důvěřovat balíčkům na základě podpisu autora, použijte trusted-signers příkaz k nastavení author vlastnosti v nuget.config.

nuget.exe  trusted-signers Add -Name MyCompanyCert -CertificateFingerprint CE40881FF5F0AD3E58965DA20A9F571EF1651A56933748E1BF1C99E537C4E039 -FingerprintAlgorithm SHA256
<trustedSigners>
  <author name="MyCompanyCert">
    <certificate fingerprint="CE40881FF5F0AD3E58965DA20A9F571EF1651A56933748E1BF1C99E537C4E039" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
  </author>
</trustedSigners>

Tip

nuget.exePomocí příkazu verify získejte SHA256 hodnotu otisku prstu certifikátu.

Důvěřovat všem balíčkům z úložiště

Pokud chcete důvěřovat balíčkům na základě podpisu úložiště, použijte repository element:

<trustedSigners>  
  <repository name="nuget.org" serviceIndex="https://api.nuget.org/v3/index.json">
    <certificate fingerprint="0E5F38F57DC1BCC806D8494F4F90FBCEDD988B4676070...." 
                  hashAlgorithm="SHA256" 
                allowUntrustedRoot="false" />
  </repository>
</trustedSigners>

Důvěřovat vlastníkům balíčků

Podpisy úložiště obsahují další metadata pro určení vlastníků balíčku v době odeslání. Balíčky z úložiště můžete omezit na základě seznamu vlastníků:

<trustedSigners>  
  <repository name="nuget.org" serviceIndex="https://api.nuget.org/v3/index.json">
    <certificate fingerprint="0E5F38F57DC1BCC806D8494F4F90FBCEDD988B4676070...." 
                  hashAlgorithm="SHA256" 
                allowUntrustedRoot="false" />
      <owners>microsoft;nuget</owners>
  </repository>
</trustedSigners>

Pokud má balíček více vlastníků a některý z těchto vlastníků je v seznamu důvěryhodných, instalace balíčku bude úspěšná.

Nedůvěryhodné kořenové certifikáty

V některých situacích můžete chtít povolit ověřování pomocí certifikátů, které nejsou zřetězenými s důvěryhodným kořenem v místním počítači. Toto chování můžete přizpůsobit pomocí atributu allowUntrustedRoot .

Synchronizace certifikátů úložiště

Úložiště balíčků by měla oznamovat certifikáty, které používají ve svém indexu služeb. Úložiště nakonec tyto certifikáty aktualizuje, například po vypršení platnosti certifikátu. V takovém případě klienti s konkrétními zásadami budou vyžadovat aktualizaci konfigurace, aby zahrnovala nově přidaný certifikát. Důvěryhodné podepisující osoby přidružené k úložišti můžete snadno upgradovat pomocí nuget.exepříkazu synchronizace důvěryhodných podepisujících.

Referenční informace ke schématu

Kompletní referenční informace o schématu pro zásady klienta najdete v referenčních informacích nuget.config.