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 require
souboru 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.exe
Pomocí 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.exe
pří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.