cert

cert исследует удалённые и локальные TLS-материалы, проверяет доверие и имя хоста, сопоставляет сертификат с ключом, создаёт ключи и CSR, подписывает сертификаты и преобразует PEM, DER и PKCS#12.

БезопасностьВерсия 1.2.4Стабильная
lil-terminal

Обзор

Используйте cert и для диагностики, и для подготовки сертификатов без системной команды OpenSSL. Удалённые сертификаты проверяются по умолчанию; -k нужен только для диагностики, а создаваемые закрытые ключи получают ограниченные права.

Срок, доверие, имя хоста и ключ — разные проверки

Сертификат может быть действующим по времени, но не проходить проверку доверия или имени хоста; действующий сертификат также может не соответствовать закрытому ключу. -v проверяет доверие и имя, -m — пару сертификат/ключ, а -h -chain показывает цепочку, реально отданную удалённым сервером.

Синтаксис

lil-terminal
cert <operation> [args] [options]

Справочник

cert -h me [port]

проверить TLS-сертификат текущего сайта

cert -h <host|url> [port]

проверить удалённый TLS-сертификат

cert -i <file> [-p <pass>]

показать локальный сертификат, CSR, ключ или контейнер PKCS#12

cert -v <cert> [-ca <file>] [-chain <file>] [-host <name>] [-client]

проверить срок действия, доверие и имя хоста

cert -m <cert> <key> [-p <pass>]

проверить соответствие сертификата и закрытого ключа

cert -key <out> [-rsa <bits>|-ec <curve>] [-p <pass>] [-f]

создать закрытый ключ

cert -csr <key> <out> <dn> [-san <list>] [-p <pass>] [-f]

создать запрос на подпись сертификата

cert -self <key> <out> <dn> [-san <list>] [-p <pass>] [-f]

создать самоподписанный сертификат

cert -sign <csr> <ca> <key> <out> [-san <list>] [-p <pass>] [-f]

подписать CSR сертификатом центра сертификации

cert -der <cert> [out] [-f]

преобразовать сертификат PEM в DER

cert -pem <cert> [out] [-f]

преобразовать сертификат DER в PEM

cert -p12 <cert> <key> [out] [-p <pass>] [-kp <pass>] [-f]

создать контейнер PKCS#12

cert -p12 -r <bundle> [dir] [-p <pass>] [-f]

извлечь контейнер PKCS#12

-j | -json

показать результаты -h, -i, -v или -m в JSON

-t [seconds]

использовать 5 секунд или тайм-аут от 1 до 300 секунд для удалённого TLS

-T

использовать тайм-аут 300 секунд для удалённого TLS

-4 | -6

использовать IPv4 или IPv6 для удалённого TLS

-k

разрешить непроверенный удалённый TLS-сертификат

-chain

показать полную цепочку удалённых сертификатов

-sni <name>

переопределить имя TLS SNI

-ca <file>

использовать явный CA-файл там, где это поддерживается

-host <name>

проверить сертификат для указанного имени хоста

-client

проверить сертификат для TLS-клиента

-p <pass>

передать пароль операции

-f

разрешить замену создаваемых файлов

Сокращение цели

me означает текущий HTTP-хост, который видит PHP. Используйте его, чтобы проверить сертификат сайта, с которого открыт этот терминал, не вводя имя хоста повторно.

Безопасность

Удалённые сертификаты проверяются по умолчанию. Файлы закрытых ключей записываются с ограниченными правами. Используйте -k только чтобы отделить проблему доверия от самой TLS-доступности и не помещайте пароли в историю команд, когда доступен скрытый ввод.

JSON-вывод

Используйте -j или -json вместе с -h, -i, -v или -m, когда другой команде или API нужен машиночитаемый результат диагностики сертификата.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Проверить удалённый TLS-сертификат

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.

Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.

Пакет Base

Установить полный пакет с локальной справкой и всеми опубликованными режимами.

install cert
Пакет Minimum

Установить сокращённый пакет без локальной справки; help <cmd> -i открывает актуальную серверную справку.

install cert -m
Точная публичная версия

Установить именно эту опубликованную версию.

install cert -v 1.2.4
Проверить или обновить

Поручить upgrade проверить совместимость и заменить установленный блок только при необходимости.

upgrade cert
Удалить модуль

Удалить блок расширения, не затрагивая ядро и остальные модули.

install cert -u

Примеры

Примеры можно копировать, но сайт их не выполняет. Перед запуском на реальном проекте проверьте пути, права и разрушающие флаги.

Проверить удалённый TLS-сертификат
pwd | cert -h example.com -chain
sandbox

Host        example.com
IP          93.184.216.34
Port        443
TLS         TLSv1.3
Subject     CN=example.com
Issuer      Example CA
Chain       3 certificates
Проверить удалённый TLS-сертификат
cert -h me
Host        lil.dog
Port        443
TLS         TLSv1.3
Subject     CN=lil.dog
Issuer      Let's Encrypt
Valid from  2026-07-15 00:00:00 UTC
Valid to    2026-10-13 23:59:59 UTC
Days left   66
Использовать IPv4 или IPv6 для удалённого TLS
cert -h example.com -4
Host        example.com
IP          93.184.216.34
Family      IPv4
Port        443
TLS         TLSv1.3
Subject     CN=example.com
Показать локальный сертификат, CSR, ключ или контейнер PKCS#12
cert -i sandbox/certs/server.crt
File          sandbox/certs/server.crt
Certificates  1

Certificate 1
Subject       CN=example.test, O=lil
Issuer        CN=example.test, O=lil
Valid from    2026-08-09 08:38:07 UTC
Valid to      2036-08-06 08:38:07 UTC
SAN           DNS:example.test, DNS:www.example.test
Key           RSA
Key bits      2048
Проверить срок действия, доверие и имя хоста
cert -v sandbox/certs/server.crt -ca sandbox/certs/server.crt -host example.test
File      sandbox/certs/server.crt
Purpose   TLS server
Time      valid
Trust     valid
Hostname  valid (example.test)
Result    valid
Проверить соответствие сертификата и закрытого ключа
cert -m sandbox/certs/server.crt sandbox/certs/server.key
Certificate  sandbox/certs/server.crt
Private key  sandbox/certs/server.key
Result       match
Cert · create
cert -key sandbox/tmp/site.key -rsa 2048 | cert -self sandbox/tmp/site.key sandbox/tmp/site.crt "CN=example.test,O=lil" -san "DNS:example.test,IP:127.0.0.1"
sandbox/tmp/
  site.key

sandbox/tmp/
  site.crt
Показать локальный сертификат, CSR, ключ или контейнер PKCS#12
cert -i sandbox/missing.crt
File          sandbox/certs/server.crt
Certificates  1

Certificate 1
Subject       CN=example.test, O=lil
Issuer        CN=example.test, O=lil
Valid from    2026-08-09 08:38:07 UTC
Valid to      2036-08-06 08:38:07 UTC
SAN           DNS:example.test, DNS:www.example.test
Key           RSA
Key bits      2048

Связанная документация

Текущая публичная версия

v1.2.42026-08-09

Синхронизация языков

Завершена синхронизация локальной и серверной справки и усилена безопасность локализации cert.