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 SHA-1-Fingerabdruck des Zertifikats an, das für die Suche nach dem Zertifikat in einem lokalen Zertifikatspeicher verwendet wird.

  • -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 oder detailed.

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