openssl – Можно ли создать V1 x.509 CA сертификат с помощью openssl 3.2?

Вопрос или проблема

В openssl 3.0.7 я вижу это в man-странице openssl-ca:

-extensions section
Секция файла конфигурации, содержащая расширения сертификата, которые добавляются при выдаче сертификата (по умолчанию x509_extensions, если не используется
опция -extfile). Если X.509 расширения не указаны, создается сертификат V1, иначе создается сертификат V3. Подробнее о формате секции расширения см. в руководстве
x509v3_config(5).

Но в openssl 3.2.2 об V1 ничего не говорится:

-extensions section
Секция файла конфигурации, содержащая расширения сертификата, которые добавляются при выдаче сертификата (по умолчанию x509_extensions, если не используется
опция -extfile).

Подробнее о формате секции расширения см. в руководстве x509v3_config(5).

Больше невозможно сгенерировать сертификаты, использующие V1?

Краткий ответ: Нет, нельзя. В примечаниях к выпуску openssl 3.2.0 ясно, что V1 больше не будет использоваться:

- Приложения x509, ca и req теперь всегда создают сертификаты X.509v3.

https://openssl-library.org/news/openssl-3.2-notes/

Ответ или решение

Для ИТ-эксперта, заинтересованного в создании сертификатов X.509 с использованием OpenSSL, изменения в версии 3.2 могут вызвать определенные сложности, особенно если ваша цель заключается в генерации сертификата версии V1. Исторически сертификаты X.509 V1 были основой для реализации базовых цифровых удостоверений. Они содержат минимальный набор информации и не включают расширения, добавленные в более поздних версиях X.509. С течением времени эти сертификаты уступили место более функциональным V3, которые позволяют добавлять расширения для улучшения безопасности и гибкости использования.

С выходом OpenSSL версии 3.2.2 внесены изменения в принципы генерации сертификатов, и теперь по умолчанию создаются сертификаты только версии V3. Эти изменения были сделаны для усовершенствования протоколов безопасности и совместимости с современными требованиями криптографии. Сначала, разберём теорию вопроса, затем приведём примеры и, наконец, обсудим применение на практике.

Теория

X.509 и его версии

Стандарт X.509 используется для создания и проверки цифровых сертификатов. Он имеет три основные версии: V1, V2 и V3. V1 содержит минимально достаточный набор атрибутов: серийный номер, алгоритм подписи, издателя, субъект, период действия и открытый ключ субъекта. Однако отсутствие расширений делает V1 менее гибким в использовании.

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

С каждым обновлением OpenSSL концентрируется на улучшении функциональности, безопасности и совместимости с международными стандартами, что привело к отказу от генерации V1 сертификатов в новой версии.

Пример

До версии 3.2 можно было создать V1 сертификат, избегая указания расширений в конфигурационном файле или через командную строку:

openssl req -newkey rsa:2048 -nodes -keyout mykey.pem -x509 -days 365 -out mycert.pem

При отсутствии секции расширений выходной сертификат будет иметь версию V1.

Однако, как следует из выписки из мануала OpenSSL 3.2.0:

- x509, ca, и req приложения теперь всегда создают X.509v3 сертификаты.

это больше невозможно. OpenSSL, начиная с версии 3.2, всегда добавляет хотя бы одно значение расширения по умолчанию, чтобы поддерживать сертификаты версии V3.

Применение

Если ваша организация по-прежнему использует V1 сертификаты, необходимо тщательно пересмотреть этот подход, учитывая современные стандарты безопасности. Переход на V3 уже давно стал стандартом де-факто. Если же по каким-то причинам необходимо сгенерировать V1 сертификат (например, для поддержки устаревших систем), возможно придётся воспользоваться более старой версией OpenSSL на временной основе или использовать другие инструменты, которые всё ещё могут поддерживать это требование.

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

Заключение

Внедрение OpenSSL 3.2 с отказом от V1 сертификатов представляет собой важный шаг вперёд в эволюции стандартов безопасности. Организациям, работающим с сертификатами, следует адаптироваться к этим изменениям, пересматривая свои стратегии использования цифровых удостоверений и обновляя инфраструктуру для выполнения требований более современных стандартов. В любом случае, поддержание актуальности в области ИТ-безопасности требует постоянного обучения и адаптации к изменениям в программном обеспечении, чтобы защитить данные и конфиденциальность пользователей.

Оцените материал
Добавить комментарий

Капча загружается...