Поделиться через


команда sign (NuGet CLI)

Область применения: создание пакета • Поддерживаемые версии: 4.6+

Подписывает все пакеты, соответствующие первому аргументу с сертификатом. Сертификат с закрытым ключом можно получить из файла или из сертификата, установленного в хранилище сертификатов, указав имя субъекта или отпечаток.

Примечание.

Подписывание пакетов еще не поддерживается в .NET Core, в разделе Mono или на платформах, отличных от Windows.

Использование

nuget sign <package(s)> [options]

где <package(s)> находится один или несколько .nupkg файлов.

Параметры

  • -CertificateFingerprint

    Указывает отпечаток, используемый для поиска сертификата в локальном хранилище сертификатов.

    Начиная с NuGet.exe 6.12, этот параметр можно использовать для указания отпечатка сертификата SHA-1, SHA-256, SHA-384 или SHA-512. Однако предупреждение возникает при использовании отпечатка сертификата SHA-1, NU3043 так как он больше не считается безопасным.

    Все предыдущие версии NuGet.exe продолжают принимать только отпечатки сертификата SHA-1.

  • -CertificatePassword

    Указывает пароль сертификата при необходимости. Если сертификат защищен паролем, но пароль не указан, команда будет запрашивать пароль во время выполнения, если -NonInteractive параметр не передается.

  • -CertificatePath

    Указывает путь к файлу сертификата, который должен использоваться при подписании пакета.

  • -CertificateStoreLocation

    Указывает имя хранилища сертификатов X.509, которое будет использоваться для поиска сертификата. По умолчанию используется значение CurrentUser, хранилище сертификатов X.509, используемое текущим пользователем. Этот параметр следует использовать при указании сертификата с помощью параметров -CertificateSubjectName или -CertificateFingerprint.

  • -CertificateStoreName

    Указывает имя хранилища сертификатов X.509, которое будет использоваться для поиска сертификата. По умолчанию используется хранилище сертификатов X.509 для личных сертификатов. Этот параметр следует использовать при указании сертификата с помощью параметров -CertificateSubjectName или -CertificateFingerprint.

  • -CertificateSubjectName

    Указывает имя субъекта сертификата, используемое для поиска сертификата в локальном хранилище сертификатов. При поиске выполняется сравнение строк без учета регистра с использованием заданного значения. Поиск найдет все сертификаты с именем субъекта, содержащим эту строку, независимо от других значений субъекта. Хранилище сертификатов можно указать с помощью параметров -CertificateStoreName и -CertificateStoreLocation.

  • -ConfigFile

    Файл конфигурации NuGet для применения. Если не указано, %AppData%\NuGet\NuGet.Config используется (Windows) или ~/.nuget/NuGet/NuGet.Config ~/.config/NuGet/NuGet.Config (Mac/Linux).

  • -ForceEnglishOutput

    Заставляет nuget.exe работать с использованием инвариантной и английской культуры.

  • -HashAlgorithm

    Хэш-алгоритм, используемый для подписания пакета. По умолчанию используется значение SHA256. Возможные значения: SHA256, SHA384 и SHA512.

  • -?|-help

    Отображает сведения о справке для команды.

  • -NonInteractive

    Подавляет запросы на ввод или подтверждение пользователя.

  • -OutputDirectory

    Указывает каталог, в котором должен быть сохранен подписанный пакет. По умолчанию исходный пакет перезаписывается подписанным пакетом.

  • -Overwrite

    Переключитесь, чтобы указать, следует ли перезаписывать текущую сигнатуру. По умолчанию команда завершится ошибкой, если у пакета уже есть сигнатура.

  • -Timestamper

    URL-адрес сервера меток времени RFC 3161.

  • -TimestampHashAlgorithm

    Хэш-алгоритм, используемый сервером меток времени RFC 3161. По умолчанию используется значение SHA256.

  • -Verbosity [normal|quiet|detailed]

    Указывает объем сведений, отображаемых в выходных данных: normal (по умолчанию) quietили detailed.

Примеры

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