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


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

Обновлен: Ноябрь 2007

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

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

signcode [options] filename | assemblyname

Параметры

Аргумент

Описание

имя файла

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

имя сборки

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

Параметр

Описание

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

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

-a алгоритм

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

-c файл

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

-cn имя

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

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

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

-j dllName

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

-jp параметр

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

-k имя ключа

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

-ky тип ключа

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

-n имя

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

-p поставщик

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

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

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

-s хранилище

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

-sha1 thumbprint

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

-sp политика

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

-spc файл

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

-t URL

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

-tr число

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

-tw число

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

-v pvkFile

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

-x

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

-y type

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

Поставщик служб шифрования содержит реализации криптографических стандартов и алгоритмов. Список типов поставщиков по умолчанию см. в разделе "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

См. также

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

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

Ссылки

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

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

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

Командная строка пакета SDK