Эта веб-страница содержит инструкции по использованию SSL.com. OV or EV сертификат подписи кода с Microsoft SignTool и SSL.com SSL Manager.
В этих инструкциях предполагается, что ваш сертификат подписи кода был установлен или что он имеется на аппаратном токене. Для облачной подписи кода с использованием платформы eSigner см. Обзор страницы и это руководство по зачислению.
Помните, что для аппаратных сертификатов подписи кода OV и EV закрытый ключ существует только на USB-токене YubiKey FIPS который был отправлен вам и этот знак должен быть прикреплен на компьютер, который используется для подписи приложения. Пользователи Windows с токенами YubiKey FIPS также должны загрузить и установить Мини-драйвер смарт-карты YubiKey перед использованием своего токена.
Подписание исполняемого файла с помощью Yubikey
Установите Windows SDK и SignTool
SignTool входит в комплект Пакет SDK для Windows 10, После установки SignTool будет находиться под:
C: \ Program Files (x86) \ Комплекты Windows \ 10 \ bin \ \ x64 \ signtool.exe
Доступ к SignTool через Powershell или командную строку
Доступ к SignTool — это первая часть команд как в подписывая ваш файл и проверка цифровая подпись. Для доступа к SignTool можно использовать как Powershell, так и командную строку.
В зависимости от используемой версии ОС Windows и версии Windows SDK доступ к SignTool будет отличаться. В качестве первой части команды будет включена одна из следующих опций:
- .\signtool.exe
- .\signtool
- вывеска
- signtool.exe
- «C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\signtool.exe»
Помните, что закрытый ключ существует только на USB-токене, который был отправлен вам, и что токен должен быть прикреплен на компьютер, который используется для подписания заявки.
Войти исполнимый
Вы можете подписать исполняемый файл, введя следующую команду в окне Powershell.
. \ signtool.exe sign / fd sha256 / a "C: \ path \ to \ MyExecutable.exe"
-
/fdопция выбирает алгоритм дайджеста, который будет использоваться при подписании. Сборки Windows 10 SDK, HLK, WDK и ADK 20236 и выше требуют, чтобы этот параметр был установлен при подписании. SHA256 рекомендуется вместо SHA1 для обеспечения безопасности. -
/aопция указывает SignTool автоматически найти соответствующий сертификат подписи кода для вашего исполняемого файла. - Вам будет предложено ввести PIN-код вашего USB-токена. Если вам нужна помощь в поиске PIN-кода, см. это как.

Выбор сертификата подписи
Укажите имя темы
Если у вас установлено более одного USB-токена или сертификата для подписи кода, вы можете указать сертификат вы хотите использовать, включая его Имя субъекта через /n опцию.
Вы можете найти имя субъекта вашего сертификата с помощью инструмента управления сертификатами Microsoft. Certmgr. Откройте инструмент из меню «Пуск» и найдите свой сертификат в папке «Личные» в разделе «Сертификаты», как показано на изображении ниже. Имя субъекта — это поле «Кому выдано» в certmgr.
На изображении выше имя субъекта сертификата example, Вы можете указать это значение в SignTool с помощью следующей команды.
. \ signtool.exe sign / fd sha256 / n "пример" "C: \ path \ to \ MyExecutable.exe"
Укажите хэш SHA1
Если у вас есть несколько сертификатов с одинаковым именем субъекта, вы также можете использовать хэш SHA1 (или «отпечаток пальца») сертификата, чтобы выбрать его для подписи. Вы можете найти это значение, выполнив следующие инструкции:
Откройте хранилище сертификатов пользователя, введя certmgr.msc в строке поиска Windows. После того, как появится окно Certificate Manager, перейдите к Индивидуальный папку на левой панели и выберите Сертификаты подпапка справа, где вы найдете свой сертификат подписи кода.
Дважды щелкните по сертификату, перейдите в Описание вкладку и прокрутите вниз, чтобы найти отпечаток большого пальца. Скопируйте отпечаток и включите его в команду при подписании кода.
![]()
. \ signtool.exe sign / fd sha256 / sha1 THUMBPRINT "C: \ path \ to \ MyExecutable.exe"
Примечание: могут быть случаи, когда в магазине появляются несколько сертификатов подписи кода с одинаковым именем, поскольку пользователь владеет несколькими USB-токенами. Если вы не уверены, какой из них выбрать, выберите тот, серийный номер которого соответствует указанному на странице сведений о заказе SSL.com. Скорее всего, вам захочется выбрать сертификат с самой поздней датой истечения срока действия.
Чтобы полностью проверить сертификат, который вы собираетесь использовать, следуйте этим инструкциям:
- Войдите в свою учетную запись SSL.com и нажмите кнопку Заказы вкладка. Найдите ваш заказ сертификата и нажмите кнопку скачать ссылку для отображения данных вашего сертификата.

- Прокрутите вниз и нажмите СЕРТИФИКАТЫ КОНЕЧНЫХ СУЩЕСТВ раздел. Под Сертификат подписи кода подразделе вы увидите серийный номер вашего сертификата.

- Выполните перекрестную проверку. Дважды щелкните сертификат в диспетчере сертификатов вашего компьютера. Щелкните Детали. Проверьте, совпадают ли серийные номера.
Используйте файл PKCS # 12 / PFX
Если у вас есть сертификат подписи кода и закрытый ключ в файле PKCS # 12 (также известном как файл PFX или P12), вы можете указать файл и его пароль в командной строке:
. \ signtool.exe sign / fd sha256 / f "C: \ path \ to \ MyCertificate.pfx" / p пароль "C: \ path \ to \ MyExecutable.exe"
проставление даты
Отметка времени вашего кода позволит ему доверять после истечения срока действия вашего сертификата подписи кода. Если вы хотите добавить отметка времени в подписанном двоичном файле вы можете сделать это с помощью SignTool's /tr вариант, после которого следует установить алгоритм дайджеста отметки времени с помощью /td. Команда в приведенном ниже фрагменте включает метку времени из SSL.comСлужба отметок времени при подписании исполняемого файла.
. \ signtool.exe sign / fd sha256 / tr http://ts.ssl.com / td sha256 / a "C: \ path \ to \ MyExecutable.exe"
/tr опция (укажите URL сервера отметок времени RFC 3161), не /t (URL-адрес сервера отметок времени), который несовместим с сервером отметок времени SSL.com./td вариант обязательно следуйте /tr вариант. Если алгоритм дайджеста метки времени указан перед сервером метки времени, будет использоваться алгоритм SHA-1 по умолчанию. Сборки Windows 10 SDK, HLK, WDK и ADK 20236 и выше требуют использования /tr при отметке времени. SHA256 рекомендуется вместо SHA1 для безопасности.Если вы столкнулись с этой ошибкой:
The timestamp certificate does not meet a minimum public key length requirement, вам следует обратиться к поставщику программного обеспечения, чтобы разрешить временные метки из ключей ECDSA.Если ваш поставщик программного обеспечения не может разрешить использование обычной конечной точки, вы можете использовать эту устаревшую конечную точку.
http://ts.ssl.com/legacy чтобы получить временную метку из модуля временных меток RSA.Другие варианты
Другие важные параметры SignTool:
/dДобавить описание подписанного кода. Например,/d "test code"./duДобавить URL с расширенным описанием подписанного кода. Например,/du https://your_website.tld/project/description.
Использование всех вышеперечисленных опций (но без /a, /sha1 или /f потому что мы указываем имя субъекта сертификата с помощью /nнаша командная строка выглядит так:
signtool.exe sign / n "пример" / fd sha256 / tr http://ts.ssl.com / td sha256 / d "тестовый код" / du https: //your_website.tld/project/description "C: \ path \ to \ MyExecutable.exe "
Проверить подпись
Используйте эту команду для проверки подписанного кода (обратите внимание, что /pa опция должна присутствовать в команде):
. \ signtool.exe verify / pa "C: \ path \ to \ MyExecutable.exe"
Если ваш файл был успешно подписан, вы должны увидеть следующий результат:
Файл: C: \ path \ to \ MyExecutable.exe Метка времени алгоритма индексации =================================== ===== 0 sha256 RFC3161 Успешно проверено: C: \ path \ to \ MyExecutable.exe
Вы также можете убедиться, что файл подписан, щелкнув его значок правой кнопкой мыши и выбрав Основные свойства из меню, затем выбрав Цифровые подписи таб. Чтобы просмотреть сведения о подписи, выберите ее и нажмите Описание .
Здесь мы видим, что файл содержит действующую цифровую подпись, созданную SSL Corp 28 июня 2020 года.
Подписание исполняемого файла с SSL Manager
Если вы предпочитаете более графический подход, вы можете использовать SSL.comсобственное программное обеспечение, SSL Manager, чтобы подписать ваши файлы. Многие клиенты предпочитают использовать SSL Manager потому что он предлагает дополнительное преимущество легкого доступа ко всем вашим сертификатам в едином интерфейсе. Инструкции по загрузке и установке SSL Managerпожалуйста, обратитесь к нашему инструкция по установке.
Чтобы подписать исполняемый файл, начните с выбора Подписание кода> Пакет кода подписи и отметки времени от SSL Managerменю.
В форме подписи кода вы можете выбрать исполняемый файл и сертификат подписи кода (из файла или хранилища сертификатов) и один из доступных серверов отметок времени. Когда вы закончите, нажмите Войти кнопку, чтобы подписать свой код. Вам будет предложено ввести PIN-код вашего USB-токена.
Помимо подписи кода, SSL Manager предлагает множество мощных функций. Для более подробной информации, пожалуйста, обратитесь к SSL Managerдокументация, особенно Меню подписи кода.
Подписание кода с помощью USB-токена Thales SafeNet (Gemalto)
В этом разделе показано, как подписывать код с помощью сертификата подписи кода SSL.com, USB-токена Thales SafeNet (Gemalto) и клиента аутентификации Safenet.
Токен Thales SafeNet может хранить все типы сертификатов подписи кода SSL.com и их закрытые ключи. К ним относятся сертификаты подписи кода личной идентификации, сертификаты подписи кода проверки организации и сертификаты подписи кода расширенной проверки.
SafeNet Authentication Client — это промежуточное программное решение, которое управляет обширным портфелем аутентификаторов SafeNet на основе сертификатов Thales. Сюда входят токены eToken, смарт-карты SafeNet IDPrime, SafeNet IDPrime Virtual и комбинированные PKI/FIDO-устройства.
Инструкции по изменению пароля подписи кода для токенов Thales SafeNet (Gemalto) или восстановлению доступа к заблокированному токену см. в этой статье SSL.com: Как изменить пароль токена Thales SafeNet/Gemalto
Требования
- Комплект разработчика Windows установлен на вашем компьютере
- SafeNet Authentication Client установлен на вашем компьютере. Инструкции см. в этом руководстве SSL.com: Загрузка клиента аутентификации SafeNet для сертификатов подписи кода
- Токен Thales SafeNet, содержащий предустановленный сертификат подписи кода SSL.com. Токен Thales SafeNet необходимо активировать, выполнив следующие действия:
- Найдите серийный номер вашего токена Thales. Это серия букв и цифр, напечатанная на поверхности вашего жетона.
- Войдите в свою учетную запись SSL.com.
- Нажмите Заказы вкладка, за которой следует скачать ссылку на ваш заказ сертификата, чтобы отобразить его детали. На физические жетоны раздел активируйте свой токен Thales, указав его серийный номер в отведенном поле. После активации вашего токена Thales физические жетоны раздел отобразит ваш PIN-код активации и ПИН-код администратора, PIN-код активации также известен как Пароль токена и вам будет предложено ввести это при подписании вашего файла. ПИН-код администратора также известен как ПСК – это необходимо при установке нового пароля токена в заблокированном токене.

Действия по подписанию кода с помощью токена Thales SafeNet
- Подключите ваш Токен Thales SafeNet на ваш компьютер.
- Открыто Клиент аутентификации Safenet.
- Настройте команду для подписи вашего кода:
Signtool знак /tr http://ts.ssl.com /td sha256 /fd sha256 /a "PATH_OF_FILE_TO_BE_SIGNED"
Легенда:
/ФД sha256 выбирает алгоритм дайджеста, который будет использоваться при подписании.
/ тр http://ts.ssl.com указывает адрес сервера временных меток
/ тд ша256 определяет алгоритм дайджеста временной метки
/a дает указание SignTool автоматически найти соответствующий сертификат подписи кода для вашего файла.
подписываемый путь к файлу: Путь к файлу должен быть заключен в двойные кавычки. Обратите внимание, что в путь необходимо включить имя подписываемого файла. Пример: /тестовый файл.dll
Внимание: Некоторые пользователи могут столкнуться с этой ошибкой при использовании команды Sign: «Signtool» не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл. Решение этой ошибки — удалить текст вывеска из команды и замените его путем к файлу Signtool.exe. Путь должен быть заключен в двойные кавычки.
«C:\Program Files (x86)\Windows Kits\10\folder\folder\x86\signtool.exe» подпишите /tr http://ts.ssl.com/ /td sha256 /fd sha256 /a «C:\ Пользователи\Админ\Документы\тестовые файлы\тестовый файл.dll"
- Run Командная строка от имени администратора и введите команду Sign. После этого нажмите Enter.

- Вы увидите сообщение Готово. Добавление дополнительного магазина завершено. Вскоре после, вам будет предложено разместить Пароль токена. Как сказано в Требования выше, пароль токена такой же, как и в Активационный PIN-код и это можно просмотреть на странице заказа сертификата SSL.com. Нажмите кнопку OK кнопку, чтобы завершить подписание кода.

- Успех! Теперь ваш файл подписан. Командная строка уведомит вас об успешном подписании.

Варианты подписи кода
1. Укажите имя субъекта сертификата.
Если у вас есть несколько USB-токенов или сертификатов для подписи кода, вы можете выбрать, какой конкретный сертификат использовать, включив его имя субъекта с помощью параметра /n.
Вы можете просмотреть имя субъекта вашего сертификата, щелкнув значок шестеренки в клиенте аутентификации SafeNet, чтобы открыть расширенный просмотр. Далее щелкните стрелку для Сертификаты пользователя для отображения всех сертификатов, установленных в токене. Скопируйте имя сертификата, который вы хотите использовать.

Команда подписи с помощью /n вариант выглядит следующим образом. Имя субъекта вашего сертификата должно быть заключено в двойные кавычки.
«ПУТЬ К SIGNTOOL.EXE» подпишите /tr http://ts.ssl.com/ /td sha256 /fd sha256 /n «ИМЯ СУБЪЕКТА СЕРТИФИКАТА» «PATH_OF_FILE_TO_BE_SIGNED»
2. Укажите отпечаток сертификата.
Если у вас есть несколько сертификатов с одинаковыми именами субъектов, вы можете отличить и выбрать один из них для подписи, используя его хэш SHA1, обычно называемый «отпечатком». Для этого замените ОТПЕЧАТОК в следующей команде с фактическим хешем SHA1 вашего сертификата.
Вы можете просмотреть значение отпечатка вашего сертификата, щелкнув значок шестеренки в клиенте аутентификации SafeNet, чтобы открыть расширенный режим просмотра. Далее щелкните стрелку для Сертификаты пользователя. Дважды щелкните сертификат, который вы хотите использовать. Нажмите кнопку Описание вкладка. Наконец, прокрутите вниз до отпечаток большого пальца поле.
![]()
В команде знака замените текст ОТПЕЧАТОК с фактической стоимостью отпечатка вашего сертификата.
«ПУТЬ К SIGNTOOL.EXE» знак /tr http://ts.ssl.com/ /td sha256 /fd sha256 /SHA1 THUMBPRINT «PATH_OF_FILE_TO_BE_SIGNED»
Проверьте подпись
Вы можете проверить примененную цифровую подпись, щелкнув правой кнопкой мыши подписанный файл, чтобы просмотреть его свойства.
- Нажмите Цифровые подписи вкладка. Наведите указатель мыши на Список подписей и щелкните отображаемое имя вашего сертификата, чтобы выделить его. Нажмите кнопку Описание поле, чтобы продолжить.

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

ЗАМЕТКАЗакрытые ключи для сертификатов подписи SSL-кода Экспорт невозможен. и сертификаты Не могут быть выпущены в виде загружаемых файлов .pfx.Сертификаты должны генерироваться и храниться с использованием утвержденного безопасного варианта, например, USB-токен YubiKey, прошедший проверку по стандарту FIPS 140-2.SSL Облачная служба подписи eSignerИли поддерживаемый облачный HSM.




