CodeSignTool - это безопасная, ориентированная на конфиденциальность многоплатформенная утилита командной строки Java для удаленной подписи объектов кода Microsoft Authenticode и Java с помощью Электронная подпись Сертификаты подписи кода EV. Хэши файлов отправляются в SSL.com для подписи, чтобы сам код не отправлялся. Это идеальный вариант, когда конфиденциальные файлы необходимо подписать, но не следует пересылать по сети для подписи. CodeSignTool также идеально подходит для автоматизированных пакетных процессов для больших объемов подписания или интеграции в существующие рабочие процессы конвейера CI / CD.
Чтобы узнать обо всех типах файлов, которые 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 для подписи, позволяя автоматизировать использование инструмента. Если этот параметр отсутствует, пользователю будет предложено ввести одноразовый пароль вручную.
Примеры:
Ручной ввод 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.
пакетный_знак
Подпишите и отметьте время до 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
без необходимых параметров отобразит информацию об использовании команды.