Delen via


Grenzen van pakketvertrouwen beheren

Voor ondertekende pakketten hoeft geen specifieke actie te worden geïnstalleerd; Als de inhoud echter is gewijzigd sinds deze is ondertekend, wordt de installatie geblokkeerd met fout NU3008.

Waarschuwing

Pakketten die zijn ondertekend met niet-vertrouwde certificaten, worden beschouwd als niet-ondertekend en worden geïnstalleerd zonder waarschuwingen of fouten zoals elk ander niet-ondertekend pakket.

Vereisten voor pakkethandtekening configureren

Opmerking

Vereist NuGet 4.9.0+ en Visual Studio versie 15.9 en hoger in Windows

U kunt configureren hoe NuGet-clients pakkethandtekeningen valideren door de opdracht require te configureren met signatureValidationMode in het nuget.config-bestand met behulp van de nuget config opdracht.

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

In deze modus wordt gecontroleerd of alle pakketten zijn ondertekend door een van de certificaten die in het nuget.config bestand worden vertrouwd. Met dit bestand kunt u opgeven welke auteurs en/of opslagplaatsen worden vertrouwd op basis van de vingerafdruk van het certificaat.

Auteur van vertrouwenspakket

Als u pakketten wilt vertrouwen op basis van de handtekening van de auteur, gebruikt u de trusted-signers opdracht om de author eigenschap in te stellen in de 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>

Aanbeveling

Gebruik de nuget.exeopdracht Controleren om de waarde van de SHA256 vingerafdruk van het certificaat op te halen.

Alle pakketten uit een opslagplaats vertrouwen

Als u pakketten wilt vertrouwen op basis van de handtekening van de opslagplaats, gebruikt u het repository element:

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

Eigenaren van vertrouwenspakketten

Handtekeningen van opslagplaatsen bevatten aanvullende metagegevens om de eigenaren van het pakket te bepalen op het moment van indiening. U kunt pakketten vanuit een opslagplaats beperken op basis van een lijst met eigenaren:

<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>

Als een pakket meerdere eigenaren heeft en een van deze eigenaren in de vertrouwde lijst staat, slaagt de pakketinstallatie.

Niet-vertrouwde basiscertificaten

In sommige situaties wilt u mogelijk verificatie inschakelen met certificaten die niet koppelen aan een vertrouwde root op de lokale computer. U kunt het allowUntrustedRoot kenmerk gebruiken om dit gedrag aan te passen.

Certificaten voor synchronisatieopslagplaats

Pakketopslagplaatsen moeten de certificaten aankondigen die ze gebruiken in hun service-index. Uiteindelijk worden deze certificaten bijgewerkt door de opslagplaats, bijvoorbeeld wanneer het certificaat verloopt. Als dat gebeurt, moeten clients met een specifiek beleid een update naar de configuratie uitvoeren om het zojuist toegevoegde certificaat op te nemen. U kunt de vertrouwde ondertekenaars die aan een opslagplaats zijn gekoppeld eenvoudig upgraden met behulp van de nuget.exesynchronisatieopdracht voor vertrouwde ondertekenaars.

Schemareferentie

De volledige schemareferentie voor het clientbeleid vindt u in de nuget.config-verwijzing