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


Signcode.exe (средство подписи файлов)

Программа подписи файлов подписывает переносимый исполняемый файл (PE) (файл .dll или .exe) цифровой подписью Authenticode.Имеется возможность подписи как сборки, так и отдельного файла, содержащегося в многофайловой сборке.При распространении сборки необходимо подписывать именно ее, а не отдельные файлы.При запуске Signcode.exe без указания параметров будет активирован мастер, цель которого — помощь в создании подписи.

Программа подписи файлов поставляется только с пакетом SDK платформы .NET Framework версий 1.0 и 1.1.В более поздних версиях вместо этого следует использовать служебную программу SignTool.exe (программа подписывания).

signcode [options] filename | assemblyname

Параметры

Аргумент

Свойство

имя_файла

Имя PE-файла, который нужно подписать.

имя_сборки

Имя сборки, которую нужно подписать.Данный файл должен содержать манифест сборки.

Вариант

Свойство

-$ полномочия

Задает удостоверяющий центр сертификата. Этот параметр должен принимать значение individual или commercial.По умолчанию в Signcode.exe используется максимальный уровень разрешений сертификата.

-a алгоритм

Задает алгоритм хеширования подписи, который должен принимать значение md5 (по умолчанию) или sha1.

-c file

Задает файл, содержащий закодированный сертификат издателя программного обеспечения.

-cn name

Задает общее имя сертификата.

-i информация

Определяет место получения подробных сведений о содержании (обычно URL-адрес).

-j dllName

Задает имя DLL, возвращающей массив проверенных атрибутов, требуемых для подписи файлов.Путем повтора параметра -j можно указать несколько DLL.

-jp param

Задает параметр, который должен передаваться в указанную перед ним DLL.Например: -j dll1 -jp dll1Param.Для одной DLL программа позволяет задавать только один параметр.

-k имя ключа

Задает имя контейнера ключей.

-ky тип ключа

Задает тип ключа, который должен быть signature, exchange, или целым(например, 4).

-n name

Задает текстовое имя, представляющее содержимое подписываемого файла.

-p поставщик

Задает имя системного поставщика служб шифрования.

-r размещение

Задает расположение хранилища сертификатов в реестре, которое должно принимать значение currentuser (по умолчанию) или localmachine.

-s хранилище

Задает хранилище сертификатов, содержащее сертификат подписи.По умолчанию имеет значение my store.

-sha1 thumbprint

Задает параметр thumbprint, который является sha1-хэшем сертификата подписи, включенного в хранилище сертификатов.

-sp политика

Устанавливает политику хранилища сертификатов, которая должна принимать значение spcStore (по умолчанию) или chain. Если указано значение chain, то в подпись добавляются все имеющиеся в цепочке проверки сертификаты, включая автономно подписанные.Если указывается значение spcStore, то в добавляемую к подписи цепочку сертификатов не включаются доверенные и автономно подписанные сертификаты .

-spc file

Задает файл SPC, содержащий сертификаты издателя программного обеспечения.

-t URL-адрес

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

-tr number

Задает максимальное число попыток установки штампов времени перед их успешным завершением. По умолчанию используется значение 1.

-tw number

Задает задержку (в секундах) между попытками установки штампов времени.По умолчанию используется значение 0.

-v pvkFile

Задает имя файла c закрытым ключом (.pvk).

-x

Задает для файла отметку времени, при этом подпись файла не производится.

-y тип

Задает тип используемого поставщик служб шифрования.

Поставщик служб шифрования содержит реализации криптографических стандартов и алгоритмов.Список типов поставщиков по умолчанию см. в разделе "Microsoft Cryptographic Service Providers" продукта Platform SDK.

-?

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

Заметки

Для создания подписи с помощью файла сертификата издателя программного обеспечения (SPC) необходимо задать параметры -spc и -v, если закрытый ключ располагается в PVK-файле.Если закрытый ключ располагается в контейнере ключей реестра, то необходимо задать параметры -spc и -k.Если необходимо подписать файл с помощью файла SPC, указанный файл следует создать с помощью программы создания сертификатов (Certificate Creation tool) и программы проверки сертификата издателя программного обеспечения (Software Publisher Certificate Test tool).

Примеры

В следующей команде выполняется подпись XYZ.exe с помощью сертификата издателя программного обеспечения XYZ.spc и закрытого ключа, располагающегося в контейнере ключей XYZ реестра.

signcode /spc XYZ.spc /k XYZ XYZ.exe

Следующая команда подписывает сборку myAssembly с использованием сертификата myCertificate.spc и закрытого ключа myKey.pvk.

signcode /spc myCertificate.spc /v myKey.pvk  myAssembly

См. также

Ссылки

Makecert.exe (средство создания сертификатов)

Cert2spc.exe (средство проверки сертификата издателя программного обеспечения)

Командная строка Visual Studio

Основные понятия

Разрешения безопасности

Другие ресурсы

Инструменты .NET Framework