Руководство по командам eSigner CodeSignTool

CodeSignTool - это безопасная, ориентированная на конфиденциальность многоплатформенная утилита командной строки Java для удаленной подписи объектов кода Microsoft Authenticode и Java с помощью Электронная подпись Сертификаты подписи кода EV. Хэши файлов отправляются в SSL.com для подписи, чтобы сам код не отправлялся. Это идеальный вариант, когда конфиденциальные файлы необходимо подписать, но не следует пересылать по сети для подписи. CodeSignTool также идеально подходит для автоматизированных пакетных процессов для больших объемов подписания или интеграции в существующие рабочие процессы конвейера CI / CD.

Если вы хотите попробовать CodeSignTool с демо-учетной записью и сертификатом, прочтите Демо-учетные данные и сертификаты eSigner для учетных данных и информации о конфигурации.

Чтобы узнать обо всех типах файлов, которые CodeSignTool может подписывать, обратитесь к этой статье: Типы файлов, поддерживаемые eSigner

Для получения инструкций о том, как автоматизировать подпись кода EV с помощью signtool.exe или certutil.exe Пожалуйста ознакомтесь это как.

Если вы хотите использовать esigner для подписи документов, пожалуйста, обратитесь к этому руководству DocSignTool.

Установка CodeSignTool

Чтобы установить текущую версию CodeSignTool, просто загрузите и распакуйте нужный файл для вашей ОС:

Обратите внимание, что загрузка Windows включает среду выполнения Java, но для версии Linux / macOS требуется, чтобы на вашем компьютере была установлена ​​среда выполнения Java. Версия команды для Windows - это командный файл (CodeSignTool.bat), а версия для Linux / macOS - это сценарий оболочки (CodeSignTool.sh).

Обзор использования CodeSignTool

Применение: CodeSignTool [-hV] [COMMAND] [PARAMETERS]

Опции:

  • -h, --help: Отобразить справочное сообщение и выйти.
  • -V, --version: Отображение информации о версии и выход.

Команды:

  • get_credential_ids: Вывести список идентификаторов учетных данных eSigner, связанных с конкретным пользователем.
  • credential_info: Вывод информации о ключе и сертификате, относящейся к идентификатору учетных данных.
  • sign: Объект кода подписи и отметки времени.
  • batch_sign: Подписать и поставить отметку времени для нескольких объектов кода с помощью одного OTP.
  • hash: Предварительно вычислить хэши для последующего использования с batch_hash_sign команда.
  • batch_sign_hash: Знаковые хэши, предварительно вычисленные с помощью hash команда.

Параметры:

  • -access_token=<TOKEN>: ОАут маркер доступа.
  • -credential_id=<CREDENTIAL_ID>: Идентификатор учетных данных для подписи сертификата.
  • -input_dir_path=<PATH>: Входной каталог для объектов кода, которые должны быть подписаны, для которых вычисляются хэши или выбираются неподписанные файлы и соответствующие хэши для подписи.
  • -input_file_path=<PATH>: Путь к объекту кода, который нужно подписать.
  • -otp=<OTP>: OAuth OTP из приложения аутентификации.
  • -output_dir_path=<PATH>: Каталог, в который будут записаны объекты подписанного кода.
  • -password=<PASSWORD>: Пароль учетной записи SSL.com.
  • -program_name=<PROGRAM_NAME>: Название программы (только для установщиков MSI).
  • -totp_secret=<TOTP_SECRET>: ОАут Секрет TOTP
  • -username=<USERNAME>: Имя пользователя учетной записи SSL.com
  • -override="true": перезаписывает подписанный файл
Если ваш пароль содержит специальные символы, заключите его в кавычки (например, -password="P!@^^ssword12").

Команды CodeSignTool

get_credential_ids

Выведите список идентификаторов учетных данных eSigner, связанных с конкретным пользователем. Параметры -username и -password необходимы.

Применение: CodeSignTool [-hV] get_credential_ids -username=<USERNAME> -password=<PASSWORD>

Пример:

CodeSignTool get_credential_ids -username=john.doe@example.com -password="P0z9@lxo41"
Credential ID(s):
- fe537ace-e132-52a9-c2e7-egcd2ac3f1e6

входящий CodeSignTool get_credential_ids без необходимых параметров отобразит информацию об использовании команды.

credential_info

Выведите информацию о ключе и сертификате, относящуюся к идентификатору учетных данных. Параметры -credential_id, -usernameкачества -password необходимы.

Применение: CodeSignTool [-hV] credential_info -credential_id=<CREDENTIAL_ID> -username=<USERNAME> -password=<PASSWORD>

Пример:

CodeSignTool credential_info -credential_id = fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password = "P0z9 @ lxo41" Информация о субъекте сертификата EVCS: - DN объекта: OID.1.3.6.1.4.1.311.60.2.1.3 .1.3.6.1.4.1.311.60.2.1.2 = США, OID.2.5.4.15 = Невада, OID.20081614243 = Частная организация, CN = SSL Corp, СЕРИЙНЫЙ НОМЕР = NV26, O = SSL Corp, L = Хьюстон, ST = Техас, C = США - Срок действия сертификата: понедельник, 21 февраля, 21:37:2024 EST 3 - DN эмитента: CN = SSL.com EV Code Signing Intermediate CA RSA RXNUMX, O = SSL Corp, L = Houston, ST = Texas , C = США

входящий CodeSignTool credential_info без необходимых параметров отобразит информацию об использовании команды.

скан_код

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

Применение: CodeSignTool scan_code [-hV] -credential_id=<credentialId> -input_file_path=<inputFilePath> -password=<password> [-program_name=<programName>] -username=<username>

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

подпись

Объект кода подписи и отметки времени. Параметры -username, -passwordкачества -input_file_path необходимы. -credential_id требуется только для пользователей с более чем одним сертификатом подписи кода eSigner. -output_dir_path, -program_nameкачества -totp_secret являются необязательными.

Применение: CodeSignTool sign [-hV] [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_file_path=<PATH> [-output_dir_path=<PATH>] [-program_name=<PROGRAM_NAME>] [-totp_secret=<TOTP_SECRET>]

Необязательные параметры:

  • If -credential_id опущено, и у пользователя есть только один сертификат подписи кода eSigner, CodeSignTool будет использовать его по умолчанию. Если у пользователя более одного сертификата подписи кода, этот параметр является обязательным.
  • If -output_dir_path опущен, файл, указанный в -input_file_path будет перезаписан подписанным файлом. CodeSignTool предложит пользователю перед перезаписью файла.
  • If -program_name присутствует при подписании установщика MSI, значение будет отображаться в диалоговом окне подтверждения как имя программы.
  • If -totp_secret присутствует, CodeSignTool будет вычислять основанный на времени OTP для подписи, позволяя автоматизировать использование инструмента. Если этот параметр отсутствует, пользователю будет предложено ввести одноразовый пароль вручную.
Для получения информации о регистрации сертификата подписи кода EV в eSigner и настройке двухфакторной аутентификации, пожалуйста, прочтите Удаленная подпись кода EV с помощью eSigner. Для получения информации о секретном значении TOTP, пожалуйста, обратитесь к Автоматизация подписи кода eSigner EV.

Примеры:

Ручной ввод OTP:

Знак CodeSignTool -credential_id = fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password = "P0z9 @ lxo41" -output_dir_path = подписанный -input_ enterfile_path = Нажмите test.exe Введите OTP : 884646 Код успешно подписан: C: \ Users \ John Doe \ Desktop \ CodeSignTool-v1.0-windows \ signed \ test.exe

Автоматизированная генерация одноразовых паролей:

CodeSignTool sign -credential_id=fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -username=john.doe@example.com -password="P0z9@lxo41" -totp_secret=ii5gVvZ9G+WkxB3FauAnoL/z14AXSMistcE0jZMWWNSjQDlql2kt2D6Z+l8= -output_dir_path=signed -input_file_path=test.exe
Code signed successfully: C:\Users\John Doe\Desktop\CodeSignTool-v1.0-windows\signed\test.exe

входящий CodeSignTool sign без необходимых параметров отобразит информацию об использовании команды.

Если вы получили сообщение об ошибке, Error: invalid otp при попытке подписать файл это могло быть вызвано одной или несколькими из следующих проблем:

  • QR-код, который вы отсканировали в свое приложение для аутентификации, не соответствует имени пользователя, паролю и / или идентификатору учетных данных из вашей команды. Это могло произойти, если:
    • У вас есть несколько учетных записей, настроенных для двухфакторной аутентификации на вашем устройстве, и вы выбрали не тот.
    • Вы пытаетесь использовать свои учетные данные для входа в общий сертификат, но отсканировал QR-код, которым поделился товарищ по команде из своей учетной записи.
  • Срок действия введенного вами одноразового пароля уже истек.
  • Ваша команда включает неверный секрет TOTP.
Некоторые пользователи eSigner сообщали о проблемах с недействительными подписями при подписании установщиков MSI, созданных с помощью Microsoft Visual Studio. В качестве обходного пути мы предлагаем создавать ваши файлы MSI с Набор инструментов WiX. Для удобства пользователей Visual Studio Расширение WiX Toolset VS доступна.

пакетный_знак

Примечание. 100 — это максимальное количество файлов кода, которые можно подписать в пакете.

Подпишите и отметьте время до 100 файлов кода с одним OTP. Параметры -username, -passwordкачества -input_dir_path необходимы. -credential_id требуется только для пользователей с более чем одним сертификатом подписи кода eSigner. -output_dir_path, -program_nameкачества -totp_secret являются необязательными.

Применение: CodeSignTool [-hV] batch_sign [-credential_id=<CREDENTIAL_ID>] -username=<USERNAME> -password=<PASSWORD> -input_dir_path=<PATH> [-output_dir_path=<PATH>] [-program_name=<PROGRAM_NAME>] [-totp_secret=<TOTP_SECRET>]

Если пользователь хочет выполнить пакетную подпись с проверкой на наличие вредоносного ПО, каждый объект кода в пакете сначала должен быть просканирован с помощью scan_code команду, а затем после этого batch_sign команду можно запустить.

Необязательные параметры:

  • If -credential_id опущено, и у пользователя есть только один сертификат подписи кода eSigner, CodeSignTool будет использовать его по умолчанию. Если у пользователя более одного сертификата подписи кода, этот параметр является обязательным.
  • If -output_dir_path опущено, файлы, указанные в -input_dir_path будут перезаписаны подписанными файлами. CodeSignTool предложит пользователю перед перезаписью файла.
  • If -program_name присутствует при подписании установщика MSI, значение будет отображаться в диалоговом окне подтверждения как имя программы.
  • If -totp_secret присутствует, CodeSignTool будет вычислять основанный на времени OTP для подписи, позволяя автоматизировать использование инструмента. Если этот параметр отсутствует, пользователю будет предложено ввести одноразовый пароль вручную.

Пример:

CodeSignTool batch_sign -username=john.doe@example.com -password = "P0z9 @ lxo41" -credential_id = fe537ace-e132-52a9-c2e7-egcd2ac3f1e6 -input_dir_path = input -output_dir_TP455145 - = output Введите путь к выходу Команда подписи пакета успешно выполнена. Каталог вывода для подписанных файлов: вывод

входящий CodeSignTool batch_sign без необходимых параметров отобразит информацию об использовании команды.

хэш

Предварительно вычислить хэши для последующего использования с batch_hash_sign команда. Параметр -input_dir_path не требуется. -program_name необязательно

Применение: CodeSignTool [-hV] hash -input_dir_path=<PATH> [-program_name=<PROGRAM_NAME>]

Необязательные параметры:

  • If -program_name присутствует при подписании установщика MSI, значение будет отображаться в диалоговом окне подтверждения как имя программы.

Пример:

CodeSignTool hash -input_dir_path = input Команда хеширования успешно выполнена. Хеш-файлы, созданные в: input

входящий CodeSignTool hash без необходимых параметров отобразит информацию об использовании команды.

Batch_sign_hash

Знаковые хэши, предварительно вычисленные с помощью hash команда. Параметры -access_token, input_dir_path, -otpкачества output_dir_path необходимы. -credential_id требуется только для пользователей с более чем одним сертификатом подписи кода eSigner.

Применение: CodeSignTool [-hV] batch_sign_hash -access_token=<ACCESS_TOKEN> [-credential_id=<CREDENTIAL_ID>] -input_dir_path=<PATH> -output_dir_path=<PATH> -otp=<OTP>

Необязательные параметры:

  • If -credential_id опущено, и у пользователя есть только один сертификат подписи кода eSigner, CodeSignTool будет использовать его по умолчанию. Если у пользователя более одного сертификата подписи кода, этот параметр является обязательным.

Пример:

CodeSignTool batch_sign_hash -access_token=eyJraWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0IiwiYWxnIjoiUlMyNTYifQ.eyJpc3MiOiJTU
0wuY29tIEF1dGhlbnRpY2F0aW9uIFNlcnZpY2UiLCJleHAiOjE2MTQ4OTcxNDIsImlhdCI6MTYxNDg5MzU0MiwianRpIjoiZmI2OTZlNDUtMTIzOS00ZGE4LW
I1MmYtODNkZDE2MTY3ZTM3IiwidXNlciI6eyJ1c2VyX2lkIjoxMzIyODU4LCJ1c2VyX2VtYWlsIjoiYWFyb24uZS5ydXNzZWxsQGdtYWlsLmNvbSIsInNzbF9
hY2NvdW50X2lkIjo0NzQzMDJ9LCJjbGllbnQiOnsiaWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0In19.fCKDs1igjsI
UDG2sUN_2OTb90Jw1nKNPHcD1MyEUR6sHCv_aJmcvcaFRne_eKLHzeQ9WtT5y3Fb2ppc50kMnjPG6JgX5gnFMptMn-ySsI277CtKbkSn3u-WSDSovn51jPm82
4wTeJmuXEzdv9clRjTwp6VoM9eqHCIaDAd3MP2xpMaa35cZbDaaAFKQ7jxWo9dUuTZY7DsKK0p1LloUEnmNxtNimQ3GDwkj_M600WB1zYrhDL9_3oZKaXcUx9
qzHcBCLzGgeaZ0xdpZtADxmXDUCcmkZi20yQ53bxqVL2w00sJ73efKB7JGeGWVehO-ZlGs3PUQwooox1JgEgcsA -credential_id=fe537ace-e132-52a9
-c2e7-egcd2ac3f1e6 -input_dir_path=input -output_dir_path=output -otp=142392
Batch sign hash command executed successfully. Output directory for signed files: output

входящий CodeSignTool batch_sign_hash без необходимых параметров отобразит информацию об использовании команды.

Видео: подписание кода Cloud EV с помощью eSigner и CodeSignTool

https://youtu.be/Br25mZIlKdU
Спасибо, что выбрали SSL.com! Если у вас возникнут вопросы, свяжитесь с нами по электронной почте по адресу Support@SSL.com, вызов 1-877-SSL-SECURE, или просто нажмите ссылку чата в правом нижнем углу этой страницы. Вы также можете найти ответы на многие распространенные вопросы поддержки в нашем база знаний.
Twitter
Facebook
LinkedIn
Reddit.
Эл. адрес

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

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

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

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