Signierbefehl (NuGet CLI)
Gilt für: Paketerstellung • Unterstützte Versionen: 4.6+
Signiert alle NuGet-Pakete, die mit dem ersten Argument übereinstimmen, mit einem Zertifikat. Das Zertifikat mit dem privaten Schlüssel kann aus einer Datei oder aus einem in einem Zertifikatspeicher installierten Zertifikat bezogen werden, indem ein Betreffname oder ein Fingerabdruck angegeben wird.
Hinweis
Die Paketsignierung wird in .NET Core, unter Mono oder auf Nicht-Windows-Plattformen noch nicht unterstützt.
Verbrauch
nuget sign <package(s)> [options]
wobei <package(s)>
eine oder mehrere .nupkg
-Dateien ist.
Optionen
-CertificateFingerprint
Gibt den Fingerabdruck an, der verwendet wird, um nach dem Zertifikat in einem lokalen Zertifikatspeicher zu suchen.
Ab NuGet.exe 6.12 kann diese Option verwendet werden, um den Fingerabdruck SHA-1, SHA-256, SHA-384 oder SHA-512 des Zertifikats anzugeben. Eine Warnung wird jedoch ausgelöst,
NU3043
wenn ein SHA-1-Zertifikatabdruck verwendet wird, da er nicht mehr als sicher eingestuft wird.Alle vorherigen Versionen der NuGet.exe akzeptieren weiterhin nur den SHA-1-Zertifikatabdruck.
-CertificatePassword
Gibt bei Bedarf das Zertifikatkennwort an. Wenn ein Zertifikat kennwortgeschützt ist, aber kein Kennwort angegeben wird, fordert der Befehl zur Laufzeit ein Kennwort ein, es sei denn, die
-NonInteractive
Option wird übergeben.-CertificatePath
Gibt den Dateipfad zum Zertifikat an, das beim Signieren des Pakets verwendet werden soll.
-CertificateStoreLocation
Gibt den Namen des X.509-Zertifikatspeichers an, der für die Suche nach dem Zertifikat verwendet werden soll. Der Standardwert lautet (vom aktuellen Benutzer verwendeter X.509-Zertifikatspeicher). Verwenden Sie diese Option, wenn Sie das Zertifikat über die Optionen
-CertificateSubjectName
oder-CertificateFingerprint
angeben möchten.-CertificateStoreName
Gibt den Namen des X.509-Zertifikatspeichers an, der für die Suche nach dem Zertifikat verwendet werden soll. Der Standardwert ist "Mein", der X.509-Zertifikatspeicher für persönliche Zertifikate. Verwenden Sie diese Option, wenn Sie das Zertifikat über die Optionen
-CertificateSubjectName
oder-CertificateFingerprint
angeben möchten.-CertificateSubjectName
Gibt den Antragstellernamen des Zertifikats an, das für die Suche nach dem Zertifikat in einem lokalen Zertifikatspeicher verwendet wird. Bei der Suche handelt es sich um einen Zeichenfolgenvergleich mit dem angegebenen Wert ohne Berücksichtigung der Groß-/Kleinschreibung, bei dem alle Zertifikate mit dem Antragstellernamen, der diese Zeichenfolge enthält, unabhängig von anderen Antragstellerwerten angezeigt werden. Der Zertifikatspeicher kann mit den Optionen
-CertificateStoreName
und-CertificateStoreLocation
angegeben werden.-ConfigFile
Die NuGet-Konfigurationsdatei. Wenn nicht angegeben,
%AppData%\NuGet\NuGet.Config
(Windows) oder~/.nuget/NuGet/NuGet.Config
~/.config/NuGet/NuGet.Config
(Mac/Linux) wird verwendet.-ForceEnglishOutput
Erzwingt die Ausführung der Anwendung mithilfe einer invarianten Kultur, die auf Englisch basiert.
-HashAlgorithm
Gibt den Hashalgorithmus an, der zum Signieren des Pakets verwendet werden soll. Der Standardwert ist SHA256. Mögliche Werte sind SHA256, SHA384 und SHA512.
-?|-help
Druckt Hilfeinformationen für den Befehl.
-NonInteractive
Fordert nicht zu Eingaben oder Bestätigungen des Benutzers auf.
-OutputDirectory
Gibt das Verzeichnis an, in dem das signierte Paket gespeichert werden soll. Wird diese Option nicht angegeben, wird das Originalpaket standardmäßig durch das signierte Paket überschrieben.
-Overwrite
Gibt an, dass die aktuelle Signatur überschrieben werden soll. Verfügt das Paket bereits über eine Signatur, tritt hier standardmäßig ein Fehler auf.
-Timestamper
URL zu einem RFC 3161-Zeitstempelserver.
-TimestampHashAlgorithm
Gibt den Hashalgorithmus an, der vom RFC 3161-Zeitstempelserver verwendet werden soll. Der Standardwert ist SHA256.
-Verbosity [normal|quiet|detailed]
Gibt an, wie viele Details in der Ausgabe angezeigt werden:
normal
(der Standard),quiet
oderdetailed
.
Beispiele
nuget sign MyPackage.nupkg -CertificatePath .\..\certificate.pfx -Timestamper http://timestamp.test
nuget sign .\..\MyPackage.nupkg -CertificateStoreLocation CurrentUser -CertificateStoreName My -CertificateSubjectName 'subject name' -Timestamper http://timestamp.test -OutputDirectory .\..\Signed