Udostępnij za pośrednictwem


dotnet nuget sign

Ten artykuł dotyczy: ✔️ zestaw .NET 6 SDK i nowsze wersje

Nazwisko

dotnet nuget sign - Podpisuje wszystkie pakiety NuGet pasujące do pierwszego argumentu z certyfikatem.

Streszczenie

dotnet nuget sign [<package-path(s)>]
    [--certificate-path <PATH>]
    [--certificate-store-name <STORENAME>]
    [--certificate-store-location <STORELOCATION>]
    [--certificate-subject-name <SUBJECTNAME>]
    [--certificate-fingerprint <FINGERPRINT>]
    [--certificate-password <PASSWORD>]
    [--hash-algorithm <HASHALGORITHM>]
    [-o|--output <OUTPUT DIRECTORY>]
    [--overwrite]
    [--timestamp-hash-algorithm <HASHALGORITHM>]
    [--timestamper <TIMESTAMPINGSERVER>]
    [-v|--verbosity <LEVEL>]

dotnet nuget sign -h|--help

opis

Polecenie dotnet nuget sign podpisuje wszystkie pakiety pasujące do pierwszego argumentu z certyfikatem. Certyfikat z kluczem prywatnym można uzyskać z pliku lub certyfikatu zainstalowanego w magazynie certyfikatów, podając nazwę podmiotu lub odcisk palca SHA-1.

Uwaga

To polecenie wymaga magazynu głównego certyfikatu, który jest prawidłowy zarówno w przypadku podpisywania kodu, jak i sygnatury czasowej. Ponadto to polecenie może nie być obsługiwane w niektórych kombinacjach systemu operacyjnego i zestawu .NET SDK. Aby uzyskać więcej informacji, zobacz Weryfikacja podpisanego pakietu NuGet.

Argumenty

  • package-path(s)

    Określa ścieżkę pliku do pakietów do podpisania. Do podpisywania wielu pakietów można przekazać wiele argumentów.

Opcje

  • --certificate-path <PATH>

    Określa ścieżkę pliku do certyfikatu, który ma być używany podczas podpisywania pakietu.

    Uwaga

    Ta opcja obsługuje obecnie tylko PKCS12 (PFX) pliki zawierające klucz prywatny certyfikatu.

  • --certificate-store-name <STORENAME>

    Określa nazwę magazynu certyfikatów X.509, który ma być używany do wyszukiwania certyfikatu. Wartość domyślna to "My", magazyn certyfikatów X.509 dla certyfikatów osobistych. Ta opcja powinna być używana podczas określania certyfikatu za pośrednictwem --certificate-subject-name opcji lub --certificate-fingerprint .

  • --certificate-store-location <STORELOCATION>

    Określa nazwę magazynu certyfikatów X.509 używaną do wyszukiwania certyfikatu. Domyślnie to "CurrentUser", magazyn certyfikatów X.509 używany przez bieżącego użytkownika. Ta opcja powinna być używana podczas określania certyfikatu za pośrednictwem --certificate-subject-name opcji lub --certificate-fingerprint .

  • --certificate-subject-name <SUBJECTNAME>

    Określa nazwę podmiotu certyfikatu używanego do wyszukiwania lokalnego magazynu certyfikatów dla certyfikatu. Wyszukiwanie jest porównaniem ciągów bez uwzględniania wielkości liter przy użyciu podanej wartości, która znajduje wszystkie certyfikaty z nazwą podmiotu zawierającą ten ciąg, niezależnie od innych wartości podmiotu. Magazyn certyfikatów można określić za pomocą --certificate-store-name opcji i .--certificate-store-location

    Uwaga

    Ta opcja obecnie obsługuje tylko jeden zgodny certyfikat w wyniku. Jeśli w wyniku istnieje wiele pasujących certyfikatów lub nie ma zgodnego certyfikatu, polecenie podpisywania zakończy się niepowodzeniem.

  • --certificate-fingerprint <FINGERPRINT>

    Określa odcisk palca certyfikatu używanego do wyszukiwania lokalnego magazynu certyfikatów dla certyfikatu.

    Począwszy od platformy .NET 9, tej opcji można użyć do określenia sha-1, SHA-256, SHA-384 lub SHA-512 odcisku palca certyfikatu. Jednak ostrzeżenie jest zgłaszane, gdy jest używany odcisk palca certyfikatu SHA-1, NU3043 ponieważ nie jest już uważany za bezpieczny.

    Wszystkie poprzednie wersje zestawu .NET SDK nadal akceptują tylko odcisk palca certyfikatu SHA-1.

  • --certificate-password <PASSWORD>

    Określa hasło certyfikatu, jeśli jest to konieczne. Jeśli certyfikat jest chroniony hasłem, ale nie podano hasła, polecenie podpisywania zakończy się niepowodzeniem.

    Uwaga

    Polecenie sign obsługuje tylko tryb nieinterakcyjny. W czasie wykonywania nie będzie wyświetlany żaden monit o podanie hasła.

  • --hash-algorithm <HASHALGORITHM>

    Algorytm skrótu używany do podpisywania pakietu. Wartość domyślna to SHA256. Możliwe wartości to SHA256, SHA384 i SHA512.

  • -o|--output

    Określa katalog, w którym ma zostać zapisany podpisany pakiet. Jeśli ta opcja nie zostanie określona, domyślnie oryginalny pakiet zostanie zastąpiony przez podpisany pakiet.

  • --overwrite

    Wskaż, że bieżący podpis powinien zostać zastąpiony. Domyślnie polecenie zakończy się niepowodzeniem, jeśli pakiet ma już podpis.

  • --timestamp-hash-algorithm <HASHALGORITHM>

    Algorytm skrótu używany przez serwer sygnatury czasowej RFC 3161. Wartość domyślna to SHA256.

  • --timestamper <TIMESTAMPINGSERVER>

    Adres URL serwera sygnatury czasowej RFC 3161.

  • -v|--verbosity <LEVEL>

    Ustawia poziom szczegółowości polecenia. Dozwolone wartości to q[uiet], , n[ormal]m[inimal], d[etailed], i diag[nostic]. Wartość domyślna to minimal. Aby uzyskać więcej informacji, zobacz LoggerVerbosity.

  • -?|-h|--help

    Wyświetla opis sposobu używania polecenia .

Przykłady

  • Zaloguj się foo.nupkg przy użyciu certyfikatu cert.pfx (nie chronionego hasłem):

    dotnet nuget sign foo.nupkg --certificate-path cert.pfx
    
  • Zaloguj się foo.nupkg przy użyciu certyfikatu cert.pfx (chronione hasłem):

    dotnet nuget sign foo.nupkg --certificate-path cert.pfx --certificate-password password
    
  • Podpis foo.nupkg z certyfikatem (chroniony hasłem) jest zgodny z określonym odciskiem palca SHA-1 w domyślnym magazynie certyfikatów (CurrentUser\My):

    dotnet nuget sign foo.nupkg --certificate-fingerprint 89967D1DD995010B6C66AE24FF8E66885E6E03A8 --certificate-password password
    
  • Zaloguj się foo.nupkg z certyfikatem (chroniony hasłem) jest zgodny z określoną nazwą "Test certificate for testing signing" podmiotu w domyślnym magazynie certyfikatów (CurrentUser\My):

    dotnet nuget sign foo.nupkg --certificate-subject-name "Test certificate for testing signing" --certificate-password password
    
  • Zaloguj się foo.nupkg z certyfikatem (chroniony hasłem) pasuje do określonego odcisku palca SHA-1 w magazynie certyfikatów CurrentUser\Root:

    dotnet nuget sign foo.nupkg --certificate-fingerprint 89967D1DD995010B6C66AE24FF8E66885E6E03A8 --certificate-password password --certificate-store-location CurrentUser --certificate-store-name Root
    
  • Podpisz wiele pakietów NuGet — foo.nupkg i wszystkie pliki nupkg w katalogu określonym przy użyciu certyfikatu cert.pfx (nie chronione hasłem):

    dotnet nuget sign foo.nupkg c:\mydir\*.nupkg --certificate-path cert.pfx
    
  • Sign foo.nupkg with certificate cert.pfx (password protected) and timestamp with http://timestamp.test:

    dotnet nuget sign foo.nupkg --certificate-path cert.pfx --certificate-password password --timestamper http://timestamp.test
    
  • Zaloguj się foo.nupkg przy użyciu certyfikatu cert.pfx (nie chronionego hasłem) i zapisz podpisany pakiet w określonym katalogu:

    dotnet nuget sign foo.nupkg --certificate-path cert.pfx --output c:\signed\
    
  • Zarejestruj plik foo.nupkg przy użyciu certyfikatu cert.pfx (nie jest chroniony hasłem) i zastąp bieżący podpis, jeśli pakiet jest już podpisany:

    dotnet nuget sign foo.nupkg --certificate-path cert.pfx --overwrite