Как автоматизировать подписание кода EV с помощью Signtool.exe или Certutil.exe с помощью eSigner CKA (адаптер облачного ключа)

В этой статье руководства показано, как установить eSigner CKA и использовать его для автоматической и ручной подписи кода в Signtool. 

eSigner CKA (адаптер облачного ключа) — это приложение на базе Windows, использующее интерфейс CNG (поставщик службы ключей KSP), позволяющий таким инструментам, как certutil.exe и signtool.exe, использовать API, совместимый с eSigner Cloud Signature Consortium (CSC), для операций подписи корпоративного кода. Он действует как виртуальный USB-токен и загружает сертификаты подписи кода в хранилище сертификатов.

eSigner CKA предоставляет гибкие возможности для автоматизации подписей в процессах CI/CD, которые не существуют с физическим токеном USB. Чтобы получить рекомендации по использованию eSigner CKA для автоматической подписи кода в инструментах CI/CD, включая CircleCI, GitHub Actions, Gitlab CI и Travis CI, посетите эту страницу: Как интегрировать eSigner CKA с инструментами CI/CD для автоматической подписи кода.

ЗАМЕТКА 

Этот учебный материал требует следующего: 

  1. Выдан сертификат подписи кода EV. 
  2. Сертификат подписи кода EV должны быть в настоящее время зарегистрированы на eSigner. Если это не так, обратитесь к этому путеводная статья
  3. Установленное приложение для проверки подлинности на вашем мобильном телефоне, например приложение Google для проверки подлинности.

 

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

Узнать больше

Сформулируйте командную строку

Компоненты командной строки

Как для ручной, так и для автоматической подписи кода вам потребуется ввести командную строку в текстовом редакторе, например Командная строка. Командная строка содержит:

  1. Расположение SignTool (инструмента командной строки, который отвечает за цифровую подпись файла и проверку подписи), заключенное в круглые скобки: «C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe»
  2. Ассоциация /ФД sha256 параметр, определяющий алгоритм хэширования
  3. Ассоциация / тр http://ts.ssl.com опция, указывающая адрес сервера временных меток
  4. / тд ша256 опция, которая определяет алгоритм дайджеста метки времени
  5. Ассоциация / sha1 параметр, указывающий отпечаток, который SignTool использует для поиска соответствующего сертификата подписи кода в хранилище ключей.
  6. Фактический отпечаток сертификата
  7. Путь к подписываемому файлу, заключенный в круглые скобки: «SIGNABLE FILE PATH»

В целом командная строка должна выглядеть следующим образом: 

«C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe» знак /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 отпечаток сертификата « ПОДПИСЫВАЕМЫЙ ПУТЬ К ФАЙЛУ»

Примечание: По умолчанию SSL.com поддерживает метки времени из ключей ECDSA.

Если вы столкнулись с этой ошибкой: The timestamp certificate does not meet a minimum public key length requirement, вам следует обратиться к поставщику программного обеспечения, чтобы разрешить временные метки из ключей ECDSA.

Если ваш поставщик программного обеспечения не может разрешить использование обычной конечной точки, вы можете использовать эту устаревшую конечную точку. http://ts.ssl.com/legacy чтобы получить временную метку из модуля временных меток RSA.

Как найти отпечаток сертификата

Позже, после установки eSigner CKA и добавления сертификата подписи кода EV в Хранилище сертификатов пользователей, вы сможете проверить отпечаток своего сертификата подписи кода EV, нажав Windows Key + R а затем введите certmgr.msc для доступа к хранилищу сертификатов пользователей. Когда появится окно диспетчера сертификатов, нажмите кнопку Личное папку на левой панели, а затем выберите Сертификаты подпапку справа, чтобы найти сертификат подписи кода EV.

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

Подписание кода вручную

Установите eSigner CKA

При выборе режима установки выберите Подписание кода вручную а затем нажмите кнопку ОК.

Войти в программу eSigner CKA

После установки eSigner CKA откройте программу и войдите в систему, используя имя пользователя и пароль своей учетной записи SSL.com.

После успешного входа в систему вы сможете увидеть имя организации, которой был выдан сертификат подписи кода EV, серийный номер, дату истечения срока действия и ЭВКС (Расширенная подпись кода проверки) аббревиатура.

Напишите командную строку в текстовом редакторе

Напомним, что командная строка для подписи кода выглядит следующим образом: 

«C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe» знак /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 отпечаток сертификата « ПОДПИСЫВАЕМЫЙ ПУТЬ К ФАЙЛУ»

Написав командную строку в текстовом редакторе и нажав Enter, вы увидите сообщение Готово Добавление дополнительного магазина. Затем появится всплывающее окно, требующее от вас ввести имя пользователя и пароль учетной записи SSL.com.

Введите одноразовый пароль (OTP) 

Одноразовый пароль (OTP) для вашего сертификата подписи кода EV, зарегистрированного eSigner, будет отправлен в ваше приложение Authenticator. После успешного ввода командная строка укажет, что ваш файл был успешно подписан.

Проверьте цифровую подпись в файле

После успешного подписания кода вы можете проверить детали цифровой подписи файла. Щелкните правой кнопкой мыши подписанный файл, щелкните Объектыс последующим Цифровые подписи Таб. Здесь вы увидите имя подписывающей стороны, используемый алгоритм дайджеста и отметку времени подписи. Нажмите на Подробнее кнопку, чтобы получить больше информации о подписанном коде.

При нажатии Подробнее, вы сможете прочитать информацию о том, Эта цифровая подпись в порядке. Нажмите кнопку Посмотреть сертификат .

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

Автоматическая подпись кода

Установите eSigner CKA

При выборе режима установки выберите Автоматическая подпись кода а затем нажмите кнопку ОК.

Сохраните файл мастер-ключа

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

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

Введите имя пользователя и пароль своей учетной записи SSL.com.

Введите имя пользователя и пароль учетной записи SSL.com.

Введите свой eSigner Одноразовый пароль на основе времени (TOTP)

Затем введите одноразовый пароль на основе времени (TOTP). Вы можете найти свой TOTP, включенный в детали заказа сертификата EV Code Signing в вашей учетной записи SSL.com. Введите 4-значный PIN-код, который вы ранее установили при регистрации вашего заказа для eSigner, а затем нажмите кнопку Показать QR-код кнопку, чтобы открыть TOTP.

Ваш TOTP будет показан в поле с надписью секретный код. Скопируйте TOTP, вставьте его на ТОТР Секрет поле окна eSigner CKA, а затем щелкните значок OK чтобы сохранить его. 

После ввода учетных данных SSL.com и TOTP вы сможете просмотреть сведения о своем сертификате подписи кода EV. Если вы решите обновить свой TOTP, вставьте новый TOTP в отведенное поле и нажмите Сохранить.

Напишите командную строку в текстовом редакторе

Напомним, что командная строка для подписи кода выглядит следующим образом: 

C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe» sign /fd sha256 /tr http://ts.ssl.com /td sha256 /sha1 отпечаток сертификата «SIGNABLE ПУТЬ ФАЙЛА"

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

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

Проверьте наличие цифровой подписи на вашем файле

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

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

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

Как протестировать eSigner CKA с вашей учетной записью песочницы

Установите eSigner CKA

Выберите, следует ли установить его в Ручная or Автоматизированный Режим

**** Обратите внимание, что если вы выбрали один режим, вам необходимо переустановить программу, прежде чем вы сможете протестировать ее в другом режиме. *****

Откройте подкаталог Roaming в Appdata.

 Чтобы протестировать eSigner CKA с помощью учетной записи песочницы SSL.com, вам необходимо изменить настройки приложения в подкаталоге Roaming папки AppData. Входить %Данные приложения% на панели поиска Windows, чтобы перейти непосредственно к перемещаемому подкаталогу AppData.

Открыть электронную подпись Файл данных с вашим текстовым редактором

Откройте приложение eSignerCKA папку, найдите файл esignerapp.data, щелкните его правой кнопкой мыши и выберите вариант редактирования файла с помощью текстового редактора, в данном случае Notepad ++

Открыв текстовый редактор, вы увидите наборы значений ниже.

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

Тестовая подпись в ручном режиме

Для тестовой подписи в ручном режиме должны присутствовать следующие значения:

  1. Идентификатор клиента должен быть: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Добавить -пытаться на api_url
    Раньше: «api_url»: «https://cs.ssl.com/csc/v0/
    После: «api_url»:»https://cs-попробуй.ssl.com/csc/v0/
  3. Замените Войти oauth-песочница на auth_url
    До: «auth_url»: «https://Войти.ssl.com/oauth2/токен»
    После: «auth_url»: «https://oauth-песочница.ssl.com/oauth2/токен»
  4. «cred_mode»: 0
  5. «мастер_ключ»: ноль

Автоматическое тестовое подписание

Для тестовой подписи в автоматическом режиме должны присутствовать следующие значения:

  1. Идентификатор клиента должен быть: qOUeZCCzSqgA93acB3LYq6lBNjgZdiOxQc-KayC3UMw
  2. Добавить -пытаться на api_url
    Раньше: «api_url»: «https://cs.ssl.com/csc/v0/
    После: «api_url»:»https://cs-попробуй.ssl.com/csc/v0/
  3. Замените Войти oauth-песочница на auth_url
    До: «auth_url»: «https://Войти.ssl.com/oauth2/токен»
    После: «auth_url»: «https://oauth-песочница.ssl.com/oauth2/токен»
  4. «cred_mode»: 1
  5. Замените нуль на master_key с точным путем к файлу вашего мастер-ключ .
    При установке eSigner CKA в автоматическом режиме с целью тестирования вы должны предоставить учетные данные для входа в свою учетную запись для песочницы. Причина в том, что при автоматической подписи кода учетные данные для входа шифруются с помощью главного ключа. Если вы введете учетные данные для входа в рабочую среду при установке, а затем измените значения в файле esignerapp.data в соответствии с форматом автоматического тестирования, вы не сможете проводить тесты, поскольку указанные вами имя пользователя и пароль отсутствуют в тестовой среде песочницы.

Войдите в eSigner CKA, используя учетные данные своей учетной записи в тестовой среде SSL.com.

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

Как подписать файл Hardware Lab Kit (HLK) с помощью eSigner CKA и HLKSigntool

Hardware Lab Kit — это инструмент для тестирования и подготовки драйвера режима ядра к отправке в Microsoft. В настоящее время eSigner CKA также требует установки HLKSigntool для использования в программном обеспечении Microsoft HLK. 

Прежде чем запускать HLKSignTool.exe, необходимо сначала установить и настроить eSigner CKA (вход пользователя и набор секретных данных TOTP). 

Шаг 1. Установите и настройте eSigner CKA

Шаг 2. Используйте HLKSignTool с командной строкой ниже

Командная строка
HLKSignTool.exe certificate_serial «путь_к_файлу»

Пример:

HLKSignTool.exe 3364de1e9ed1882e963a89ff7a958e9d "A:\teet.hlkx"

Как подписать макросы VBA с помощью eSigner CKA

Загрузите и установите по этой ссылке Пакеты тематического интерфейса Microsoft Office для проектов VBA с цифровой подписью, используя эту ссылку: https://www.microsoft.com/en-us/download/details.aspx?id=56617

После установки выполните следующие шаги:

  1. Откройте командную строку администратора и введите следующее: путь будет указывать на то место, куда вы только что установили файлы:

    regsvr32.exe

    regsvr32.exe

    Дополнительные сведения о регистрации элементов управления OLE см. на странице Веб-сайт Microsoft.

    В случае успеха вы увидите сообщение: «Сервер DIIRegister in удалось».

  2. Установите следующее: download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe
  3. Установите eSigner CKA
  4. Запустите команду SignTool, чтобы подписать макросы: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Как подписать файлы .app с помощью eSigner CKA

  1. Скачать Dynamics.365.BC.55195.US.DVD.zip at https://www.microsoft.com/en-US/download/details.aspx?id=105113 
    Примечание. Если вы попытаетесь подписать .приложение файл с помощью eSigner CKA без предварительной установки Microsoft Приложение Dynamics 365 Business Central, вы получите следующую ошибку SignTool: Этот формат файла невозможно подписать, поскольку он не распознается.
  2. Откройте приложение Dynamics.365.BC.55195.US.DVD.zip и извлеките содержимое в удобное для вас место.
  3. Откройте setup.exe для Microsoft Dynamics 365 Business Central и щелкните значок Следующая> .
  4. Прочтите условия лицензии на программное обеспечение Microsoft и нажмите кнопку Я принимаю > .
  5. Выберите Расширенные возможности установки
  6. Нажмите Выберите вариант установки.
  7. Выберите сервер вариант установки.
  8. Нажмите Применить кнопка.
  9. Подождите завершения установки. После успешной установки нажмите кнопку Закрыть .
  10. Подпишите свой файл .app в SignTool: https://www.ssl.com/how-to/automate-ev-code-signing-with-signtool-or-certutil-esigner/#components-of-the-command-line

Как подписать файлы vsix с помощью eSigner CKA

  1. Загрузите Dotnet Core SDK: https://dotnet.microsoft.com/en-us/download/dotnet/7.0
  2. Установите OpenVsixSignTool.
    dotnet tool install -g OpenVsixSignTool
  3. Используйте эту команду знака:
    OpenVsixSignTool sign --sha1 CERTIFICATE THUMBPRINT --timestamp http://ts.ssl.com -ta sha256 -fd sha256 "SIGNABLE FILE PATH"

Как использовать сканирование вредоносных программ на eSigner CKA

Инструкция по применению

  1. Войдите в свою учетную запись SSL.com. Нажмите на вкладку заказы, а затем скачать ссылку вашего сертификата, чтобы отобразить его детали. Прокрутите вниз до ПОДПИСАНИЕ ПОЛНОМОЧИЙ раздел и найдите часть, показывающую ваши учетные данные сертификата eSigner. Убедитесь, что переключатели с надписью учетные данные для подписи включены и блокировщик вредоносных программ включен выбраны.
  2. Установите адаптер облачного ключа eSigner.
  3. Установите eSigner CodeSignTool. Нажмите здесь для загрузки eSigner CodeSignTool.
  4. Сканируйте код в CodeSignTool с помощью следующей команды: scan_code [-hV] -input_file_path=<inputFilePath> -password=<PASSWORD> [-program_name=<programName>] -username=<USERNAME>
  5. Используйте Sign Tool, чтобы подписать код с помощью eSigner CKA, используя следующую команду: scan_code -username=<USERNAME> -password=<PASSWORD> -credential_id=<eSigner Credential ID> -input_file_path=<inputFilePath>

Параметры:

  • -input_file_path=<PATH>: Путь к объекту кода, который нужно подписать.
  • -username=<USERNAME>SSL.com имя пользователя учетной записи
  • -password=<PASSWORD>SSL.com пароль от аккаунта.
  • -program_name=<PROGRAM_NAME>: Название программы
  • -credential_id=<CREDENTIAL_ID>: Идентификатор учетных данных для подписи сертификата. Ваш идентификатор учетной записи eSigner находится в вашем SSL.com страница заказа сертификата.

Подпишитесь на рассылку новостей SSL.com

Не пропустите новые статьи и обновления с SSL.com

Будьте в курсе и будьте в безопасности

SSL.com является мировым лидером в области кибербезопасности, PKI и цифровые сертификаты. Подпишитесь, чтобы получать последние новости отрасли, советы и анонсы продуктов от SSL.com.

Мы будем рады вашим отзывам

Пройдите наш опрос и поделитесь с нами своими мыслями о своей недавней покупке.