В этой статье мы расскажем о двух удобных CLI-утилитах — showcert и gencert, которые помогут вам легко читать, проверять и генерировать SSL-сертификаты. Эти инструменты отлично подходят как для повседневного использования, так и для автоматизации задач в DevOps-окружении.

Обзор утилит Link to heading

showcert Link to heading

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

gencert Link to heading

Утилита gencert служит для генерации самоподписанных сертификатов. Она позволяет создавать ключи и сертификаты с гибкими настройками, включая возможность подписи через собственный центр сертификации (CA).

Установка Link to heading

Для установки обеих утилит используется pipx, который позволяет запускать Python-приложения в изолированных окружениях:

pip install pipx

После этого установите showcert следующей командой:

pipx install showcert

Использование Link to heading

showcert Link to heading

Проверка сертификата сайта Link to heading

Чтобы проверить сертификат сайта, просто передайте доменное имя в качестве аргумента:

showcert blog.tatarinovms.space

Эта команда отобразит подробную информацию о сертификате указанного хоста.

Сохранение full chain в формате PEM Link to heading

Если вы хотите сохранить полную цепочку сертификатов удалённого сервера в формате .pem, используйте флаг --chain и перенаправьте вывод в файл:

showcert --chain -o pem ya.ru > ya.ru.pem

gencert Link to heading

Генерация самоподписанного сертификата Link to heading

Самый простой способ создать самоподписанный сертификат — указать доменное имя:

gencert example.ru www.example.ru

Это создаст ключ и сертификат для домена example.ru и его поддомена www.example.ru.

Раздельное сохранение ключа и сертификата Link to heading

Если вы предпочитаете иметь отдельные файлы для приватного ключа и сертификата, используйте опции --key и --cert:

gencert example.ru --key example.ru.key --cert example.ru.pem

Использование собственного CA Link to heading

Если вы хотите подписать сертификат своим центром сертификации, выполните:

gencert --ca "MyCA"

Это создаст корневой CA с названием MyCA.

Создание сертификата с использованием существующего CA Link to heading

Для выпуска сертификата, подписанного вашим собственным CA, используйте параметры --cacert и --cakey:

gencert example.ru --key example.ru.key --cert example.ru.pem --cacert MyCA.pem --cakey MyCA.key

Эта команда создаёт ключ и сертификат для example.ru, подписанные ранее созданным центром сертификации.

Заключение Link to heading

showcert и gencert — это мощные и удобные инструменты для работы с SSL-сертификатами в командной строке. Они экономят время при тестировании, разработке и администрировании защищённых сервисов. Благодаря простому интерфейсу и гибким настройкам эти утилиты будут полезны как начинающим, так и опытным разработчикам и системным администраторам.

Если вы работаете с TLS/SSL в своём проекте, обязательно попробуйте эти инструменты. Они помогут сделать управление сертификатами проще и быстрее.