Udostępnij za pośrednictwem


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-256tylko algorytmy odcisków palców , SHA-384i 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-256odcisk 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 -csplistpolecenie , 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"