команда 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