В этой статье мы расскажем о двух удобных 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 в своём проекте, обязательно попробуйте эти инструменты. Они помогут сделать управление сертификатами проще и быстрее.