Signieren der CLI-Referenz für VSIX-Pakete
sign
- Dotnet-Tool zum Signieren von Dateien und Containern mit PFX-, CER- oder P7B-Zertifikaten auf einem Datenträger oder von Windows Certificate Manager (WCM), Kryptografiedienstanbietern (CSP) oder Azure Key Vault.
Wichtig
Sign cli unterstützt SHA-256
nur , SHA-384
, und SHA-512
als gültige Fingerabdruckalgorithmen. Sie können PowerShell verwenden, um Fingerabdrücke mithilfe von: Get-FileHash -Algorithm SHA256 <path to .cer file> | Format-Table -AutoSize
Übersicht
sign code certificate-store [<PATH(s)>]
[-cf|--certificate-file <PATH>]
[-p|--password <PASSWORD>]
[-cfp|--certificate-fingerprint <SHA>]
[-csp|--crypto-service-provider <CSPNAME>]
[-k|--key-container <HASHALGORITHM>]
[-km|--use-machine-key-container]
[-d|--description <DESCRIPTION>]
[-u|--descriptionUrl <URL>]
[-fd|--file-digest <DIGEST>]
[-t|--timestamp-url <URL>]
[-tr|--timestamp-rfc3161 <URL>]
[-td|--timestamp-digest <DIGEST>]
[-o|--output <PATH>]
[-b|--base-directory <wORKINGDIRECTORY>]
[-f|--force]
[-m|--max-concurrency <MAXCONCURRENCY>]
[-fl|--filelist <FILELISTPATH>]
sign code certificate-store -h|--help
Beschreibung
Sign CLI
ist ein Dotnet-Tool, das Dateien und Container rekursiv mit einem Zertifikat und privaten signiert. Das Zertifikat und der private Schlüssel können entweder aus einer Datei (PFX, P7B, CER) oder aus einem Zertifikat abgerufen werden, das in einem Zertifikatspeicher installiert ist, indem ein SHA-256
, SHA-384
oder SHA-512
ein Fingerabdruck bereitgestellt wird. Auf USB-Schlüssel kann über einen vom Hersteller implementierten Kryptografiedienstanbieter (Cryptographic Service Provider , CSP) zugegriffen werden und über den Zertifikatspeicher darauf zugegriffen werden.
Installation
Installieren Sie die Sign CLI global mit dotnet tool install sign --version <version> --global
, wobei <version>
die neueste verfügbare Version unter "Sign ( nuget.org)" ist.
Offlineinstallation von Sign CLI
Für isolierte Umgebungen können Sie ein Sign CLI NuGet-Paket herunterladen und mithilfe von:
dotnet tool install --global --add-source <path-to-folder> <tool-name> --version <version>
Argumente
VSIX-paths(s)
Gibt die Pfade zum zu signierten VSIX-Paket an.
Optionen
-cf|--certificate-file <PATH>
PFX-, P7B- oder CER-Datei, die ein Zertifikat und potenziell einen privaten Schlüssel enthält.
-p|--password <PASSWORD>
Optionales Kennwort für die Zertifikatdatei.
-cfp|--certificate-fingerprint <SHA>
SHA-256, SHA-384 oder SHA-512-Fingerabdruck, der zum Identifizieren eines Zertifikats vor der Signatur verwendet wird.
-csp|--crypto-service-provider <CSP NAME>
Kryptografiedienstanbieter, der einen privaten Schlüssel enthält.
-k|--key-container <CONTAINER NAME>]
Name des Privaten Schlüsselcontainers.
-km|--use-machine-key-container]
Verwenden Sie einen privaten Schlüsselcontainer auf Computerebene anstelle des Standardcontainers auf Benutzerebene.
-d|--description <DESCRIPTION>
Beschreibung des Signaturzertifikats.
-u|--descriptionUrl <URL>
Beschreibungs-URL des Signaturzertifikats.
-fd | --file-digest <DIGEST>
Digestalgorithmus zum Hashen der Datei mit.
-t|--timestamp-url <URL>
RFC 3161-Zeitstempelserver-URL. [Standard: http://timestamp.acs.microsoft.com/]
-tr | --timestamp-rfc3161 <URL>
Gibt die URL des RFC 3161-Zeitstempelservers an.
-td|--timestamp-digest <DIGEST>
Wird verwendet, um
-tr
einen Digestalgorithmus anzufordern, der vom RFC 3161-Zeitstempelserver verwendet wird.-o|--output <PATH>
Die Ausgabedatei oder der Ordner, wenn mehrere Dateien angegeben werden. Wenn diese Angabe weggelassen wird, wird die Eingabe überschrieben.
-b|--base-directory <PATH>
Basisverzeichnis für Dateien zum Überschreiben des Arbeitsverzeichnisses.
--f|--force
Überschreibt eine Signatur, falls vorhanden.
-m|--max-concurrency <MAXCONCURRENCY>
Maximale Parallelität (Standard ist 4)
-fl | --filelist <PATH>
Pfad zu Datei mit Pfaden von Dateien zum Signieren oder Ausschließen der Signatur innerhalb des Containers.
-?|-h|--help
Druckt eine Beschreibung der Verwendung des Befehls.
Beispiele
Signieren Sie contoso.vsix mit einem Zertifikat, das in den Benutzerzertifikatspeicher importiert wurde:
sign contoso.vsix -cfp 24D589...FB9523B36E -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Signieren Sie contoso.vsix mit zertifikat cert.pfx (nicht kennwortgeschützt ) mit einem SHA-512-Fingerabdruck:
sign contoso.vsix -cfp A87A6F...894559B981 -cfpa sha512 -cf D:\certificates\cert.pfx -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Signieren Sie contoso.vsix mit zertifikat cert.pfx (kennwortgeschützter):
sign contoso.vsix -s 24D58920B2D24D00A7DF07FB9523B36E -cf cert.pfx -p <password> -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Signieren Sie mehrere VSIX-Pakete – contoso.vsix und alle VSIX-Dateien im Verzeichnis, das mit zertifikat cert.pfx angegeben ist (nicht kennwortgeschützt):
sign *.vsix -s 24D58920B2D24D00A7DF07FB9523B36E -cf cert.pfx -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Signieren Sie contoso.vsix mit einem Zertifikat, das in einem sicheren USB-Laufwerk gespeichert ist.
sign contoso.vsix -s 24D58920B2D24D00A7DF07FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "NuGetSigning 0B2D249223B36D00A7DF07FB95E24D58" -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Signieren Sie contoso.vsix mit einem Zertifikat, das in einem sicheren USB-Laufwerk gespeichert ist, und greifen Sie über den Computerzertifikatspeicher (-km-Option) zu.
sign contoso.vsix -s 24D58920B2D24D00A7DF07FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "NuGetSigning 0B2D249223B36D00A7DF07FB95E24D58" -km -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Hinweis
Wenn
-k
die Option nicht bereitgestellt wird, überprüft das Tool alle Container im bereitgestellten CSP auf ein übereinstimmende SHA-Fingerabdruckzertifikat.Signieren Sie contoso.vsix mit einem Zertifikat, das in einem sicheren USB-Laufwerk gespeichert ist, das den Dateidigestalgorithmus (-fd), den Zeitstempelserver (-t) und einen benutzerdefinierten Ausgabepfad (-o) für den signierten VSIX angibt.
sign contoso.vsix -s 24D58920B2D24D00A7DF07FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "NuGetSigning 0B2D249223B36D00A7DF07FB95E24D58" -d "Constoso VSIX Signature" -u "http://www.contoso.com" -t "http://timestamp.acs.microsoft.com/" -fd sha256 -o "ContosoSigned.vsix"