Как сгенерировать код подписи Csr в Windows с помощью certreq

Важное обновление!

Начиная с 1 июня 2023 года, вводится новая мера безопасности для сертификатов подписи кода. Все сертификаты подписи кода теперь должны храниться на оборудовании, соответствующем определенным стандартам безопасности, таким как FIPS 140 Level 2, Common Criteria EAL 4+ или их эквивалентам.

В результате процесс получения и установки сертификатов изменился. Центры сертификации больше не поддерживают генерацию ключей через браузер, создание CSR и установку сертификатов на ноутбуках или серверах. Вместо этого, если Вы выбрали метод“токен + отправка” в качестве способа доставки подписи кода, ЦС будет заниматься генерацией CSR. Если Вы предпочитаете использовать свой аппаратный модуль безопасности (HSM), ознакомьтесь с приведенными ниже руководствами или следуйте инструкциям поставщика HSM для генерации CSR.


Следующий текст содержит устаревшую информацию, которая больше не применима к генерации CSR для сертификатов подписи кода.

Начиная с 1 июня 2021 года, соискатели сертификатов подписи кода должны соблюдать Базовые требования CA/Browser Forum Code Signing Baseline Requirements, которые требуют, чтобы длина бита ключа RSA была не менее 3072 бит. Для большей безопасности мы рекомендуем создать запрос на подписание сертификата (CSR) с 4096-битным ключом.

Существует множество методов создания CSR для сертификата подписи кода, и в этой статье мы покажем Вам, как сгенерировать CSR с помощью команды CertReq в Windows.

Создайте CSR с помощью certreq

Чтобы использовать команду “certreq”, Вам необходимо сначала создать файл “request.inf” с помощью текстового редактора, например, Блокнота. Следуйте приведенным ниже инструкциям, чтобы создать файл request.inf и сгенерировать CSR для Вашего сертификата подписи кода.

Создайте файл request.inf

request.inf Файл должен содержать “Сведения о предмете”, которые необходимо включить в CSR. После создания файла request.inf Вы можете создать CSR с его помощью.

Скопируйте приведенное ниже содержимое в текстовый документ и сохраните его под именем “request.inf”. Вы должны заменить только строку “Тема”, указав в ней данные о Вашей компании.

[NewRequest]

;Измените на код Вашей страны (C), общее название (CN), название компании (O), населенный пункт (L), название штата/провинции (S)

Subject = “CN=Имя Вашей компании, O=Имя Вашей компании, L=Город, S=Стандарт, C=США”.

KeySpec = 1

Длина ключа = 4096

Экспортируемый = TRUE

MachineKeySet = FALSE

SMIME = Ложь

PrivateKeyArchive = FALSE

UserProtected = FALSE

UseExistingKeySet = FALSE

ProviderName = “Криптографический провайдер Microsoft RSA SChannel”.

ProviderType = 12

RequestType = PKCS10

KeyUsage = 0xa0

HashAlgorithm = SHA256

[EnhancedKeyUsageExtension]

OID=1.3.6.1.5.5.7.3.3 ; это для подписи кода

Сгенерируйте CSR с помощью файла request.inf

После сохранения файла request.inf Вы можете использовать командную строку Windows для создания CSR, введя следующую команду:

CERTREQ -new request.inf codesign.csr

После выполнения этой команды будет сгенерирован новый CSR и сохранен в файл с именем “codesign.csr”. Затем Вы можете отправить этот CSR в ЦС, чтобы запросить сертификат подписи кода.

Заключительные шаги

Получив сертификат подписи кода, Вы должны установить его на том же компьютере. Выполните следующую команду:

certreq -accept certificate.crt

После установки сертификата Вы можете экспортировать его в файл PFX. Процесс экспорта сертификата может отличаться в зависимости от операционной системы и Вашего конкретного программного обеспечения. Как правило, Вы можете экспортировать сертификат, открыв менеджер сертификатов, выбрав сертификат и выбрав экспортировать его в файл PFX.

После того, как Вы экспортировали сертификат в файл PFX, Вы можете использовать его для подписи Вашего кода и обеспечения его подлинности.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Написано

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