Dokumentacja interfejsu wiersza polecenia podpisywania dla pakietów VSIX
sign
— Narzędzie Dotnet używane do podpisywania plików i kontenerów przy użyciu certyfikatów PFX, CER lub P7B na dysku lub z Menedżera certyfikatów systemu Windows (WCM), dostawców usług kryptograficznych (CSP) lub Usługi Azure Key Vault.
Ważne
Interfejs wiersza polecenia podpisywania obsługuje SHA-256
tylko algorytmy odcisków palców , SHA-384
i SHA-512
jako prawidłowe. Za pomocą programu PowerShell można pobrać odciski palców przy użyciu: Get-FileHash -Algorithm SHA256 <path to .cer file> | Format-Table -AutoSize
Ważne
Interfejs wiersza polecenia podpisywania obsługuje RSA
tylko algorytmy, dlatego użycie ECDSA
polecenia do generowania odcisku palca zakończy się niepowodzeniem podczas instalacji. Nie blokuje to instalacji, ale podczas instalacji w oknie Instalatora VSIX będą wyświetlane ostrzeżenia "Nieprawidłowy podpis".
Streszczenie
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
opis
Sign CLI
to narzędzie Dotnet, które cyklicznie podpisuje pliki i kontenery przy użyciu certyfikatu i prywatnego. Certyfikat i klucz prywatny można uzyskać z pliku (PFX, P7B, CER) lub certyfikatu zainstalowanego w magazynie certyfikatów, podając SHA-256
odcisk palca lub SHA-512
. SHA-384
Dostęp do kluczy USB można uzyskać przy użyciu dostawcy usług kryptograficznych (CSP) zaimplementowanego przez producenta i dostępnego z magazynu certyfikatów.
Instalacja
Instalowanie interfejsu wiersza polecenia podpisywania globalnie przy użyciu polecenia dotnet tool install sign --prerelease --global
Instalacja interfejsu wiersza polecenia podpisywania w trybie offline
W przypadku środowisk izolowanych można pobrać pakiet NuGet interfejsu wiersza polecenia podpisywania i zainstalować go przy użyciu:
dotnet tool install --global --add-source <path-to-folder> <tool-name> --version <version>
Argumenty
VSIX-paths(s)
Określa ścieżki do pakietu VSIX do podpisania.
Opcje
-cf|--certificate-file <PATH>
Plik PFX, P7B lub CER zawierający certyfikat i potencjalnie klucz prywatny.
-p|--password <PASSWORD>
Opcjonalne hasło do pliku certyfikatu.
-cfp|--certificate-fingerprint <SHA>
SHA-256, SHA-384 lub SHA-512 odcisk palca używany do identyfikowania certyfikatu przed podpisaniem.
-csp|--crypto-service-provider <CSP NAME>
Dostawca usług kryptograficznych zawierający klucz prywatny.
Uwaga
Wszystkie dostępne dostawcy CSP można wyświetlić, uruchamiając
certutil -csplist
polecenie , gdzie starsi dostawcy CSP określają typ dostawcy, a dostawcy CNG zwykle mają w nazwach "Dostawcę magazynu kluczy".certutil -csptest "<provider name>"
Zawiera więcej informacji na temat określonych dostawców.-k|--key-container <CONTAINER NAME>]
Nazwa kontenera klucza prywatnego.
Uwaga
Wszystkie klucze przechowywane w programie CSP można znaleźć, uruchamiając polecenie
certutil -csp <Provider Name> -key
.-km|--use-machine-key-container]
Użyj kontenera klucza prywatnego na poziomie komputera zamiast domyślnego kontenera na poziomie użytkownika.
-d|--description <DESCRIPTION>
Opis certyfikatu podpisywania.
-u|--descriptionUrl <URL>
Opis adresu URL certyfikatu podpisywania.
-fd | --file-digest <DIGEST>
Algorytm skrótu do skrótu pliku za pomocą polecenia .
-t|--timestamp-url <URL>
Adres URL serwera sygnatury czasowej RFC 3161. [wartość domyślna: http://timestamp.acs.microsoft.com/]
-tr | --timestamp-rfc3161 <URL>
Określa adres URL serwera sygnatury czasowej RFC 3161.
-td|--timestamp-digest <DIGEST>
Używany z przełącznikiem
-tr
w celu żądania algorytmu skrótu używanego przez serwer sygnatury czasowej RFC 3161.-o|--output <PATH>
Plik wyjściowy lub folder, jeśli określono wiele plików. Jeśli pominięto, dane wejściowe zostaną zastąpione.
-b|--base-directory <PATH>
Katalog podstawowy dla plików, aby zastąpić katalog roboczy.
--f|--force
Zastępuje podpis, jeśli istnieje.
-m|--max-concurrency <MAXCONCURRENCY>
Maksymalna współbieżność (wartość domyślna to 4)
-fl | --filelist <PATH>
Ścieżka do pliku zawierającego ścieżki plików do podpisania lub wykluczenia z podpisywania w kontenerze.
-?|-h|--help
Drukuje opis sposobu używania polecenia .
Przykłady
Podpisz plik contoso.vsix przy użyciu certyfikatu zaimportowanego do magazynu certyfikatów użytkownika :
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Podpisz contoso.vsix przy użyciu certyfikatu cert.pfx (nie chronionego hasłem) przy użyciu odcisku palca SHA-512:
sign code certificate-store contoso.vsix -cfp A87A6F...894559B981 -cfpa sha512 -cf D:\certificates\cert.pfx -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Podpisz plik contoso.vsix przy użyciu certyfikatu cert.pfx (chronione hasłem):
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -cf cert.pfx -p <password> -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Podpisz wiele pakietów VSIX — contoso.vsix i wszystkie pliki vsix w katalogu określonym przy użyciu certyfikatu cert.pfx (nie chronione hasłem):
sign code certificate-store *.vsix -cfp 24D589...FB9523B36E -cf cert.pfx -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Podpisz plik contoso.vsix przy użyciu certyfikatu przechowywanego na bezpiecznym dysku USB.
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "VsixSigning 0B2D249223B36D00A7DF07FB95E24D58" -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Podpisz plik contoso.vsix przy użyciu certyfikatu przechowywanego na bezpiecznym dysku USB i dostępny z magazynu certyfikatów komputera (opcja km).
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "VsixSigning 0B2D249223B36D00A7DF07FB95E24D58" -km -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Uwaga
Jeśli
-k
opcja nie zostanie podana, narzędzie sprawdza wszystkie kontenery w podanym dostawcy CSP pod kątem zgodnego certyfikatu odcisku palca SHA.Podpisz plik contoso.vsix przy użyciu certyfikatu przechowywanego na bezpiecznym dysku USB określającym algorytm skrótu pliku (-fd), serwer sygnatury czasowej (-t) i niestandardową ścieżkę wyjściową (-o) dla podpisanego pliku VSIX.
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "VsixSigning 0B2D249223B36D00A7DF07FB95E24D58" -d "Constoso VSIX Signature" -u "http://www.contoso.com" -t "http://timestamp.acs.microsoft.com/" -fd sha256 -o "ContosoSigned.vsix"