Установить полный пакет с локальной справкой и всеми опубликованными режимами.
install certcertИспользуйте
Сертификат может быть действующим по времени, но не проходить проверку доверия или имени хоста; действующий сертификат также может не соответствовать закрытому ключу. -v проверяет доверие и имя, -m — пару сертификат/ключ, а -h -chain показывает цепочку, реально отданную удалённым сервером.
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-доступности и не помещайте пароли в историю команд, когда доступен скрытый ввод.
Используйте -j или -json вместе с -h, -i, -v или -m, когда другой команде или API нужен машиночитаемый результат диагностики сертификата.
Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.
Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.
Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.
Установить полный пакет с локальной справкой и всеми опубликованными режимами.
install certУстановить сокращённый пакет без локальной справки;
install cert -mУстановить именно эту опубликованную версию.
install cert -v 1.2.4Поручить upgrade проверить совместимость и заменить установленный блок только при необходимости.
upgrade certУдалить блок расширения, не затрагивая ядро и остальные модули.
install cert -uПримеры можно копировать, но сайт их не выполняет. Перед запуском на реальном проекте проверьте пути, права и разрушающие флаги.
cert -h meУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Host example.test
IP 192.0.2.80
Port 443
Status verified
Time 14.8 ms
TLS TLSv1.3
Cipher TLS_AES_256_GCM_SHA384
Hostname valid (example.test)
Subject CN=example.test
Issuer CN=Training CA
Valid to 2027-10-31 00:00:00 UTCcert -h example.testУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Host example.test
IP 192.0.2.80
Port 443
Status verified
Time 14.8 ms
TLS TLSv1.3
Cipher TLS_AES_256_GCM_SHA384
Hostname valid (example.test)
Subject CN=example.test
Issuer CN=Training CA
Valid to 2027-10-31 00:00:00 UTCcert -h example.test -t 5Учебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Host example.test
IP 192.0.2.80
Port 443
Status verified
Time 14.8 ms
TLS TLSv1.3
Cipher TLS_AES_256_GCM_SHA384
Hostname valid (example.test)
Subject CN=example.test
Issuer CN=Training CA
Valid to 2027-10-31 00:00:00 UTCcert -h example.test -TУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Host example.test
IP 192.0.2.80
Port 443
Status verified
Time 14.8 ms
TLS TLSv1.3
Cipher TLS_AES_256_GCM_SHA384
Hostname valid (example.test)
Subject CN=example.test
Issuer CN=Training CA
Valid to 2027-10-31 00:00:00 UTCcert -h example.test -4Учебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Host example.test
IP 192.0.2.80
Port 443
Status verified
Time 14.8 ms
TLS TLSv1.3
Cipher TLS_AES_256_GCM_SHA384
Hostname valid (example.test)
Subject CN=example.test
Issuer CN=Training CA
Valid to 2027-10-31 00:00:00 UTCcert -h example.test -6Учебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Host example.test
IP 2001:db8::80
Port 443
Status verified
Time 14.8 ms
TLS TLSv1.3
Cipher TLS_AES_256_GCM_SHA384
Hostname valid (example.test)
Subject CN=example.test
Issuer CN=Training CA
Valid to 2027-10-31 00:00:00 UTCcert -h example.test -chainУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Host example.test
IP 192.0.2.80
Port 443
Status verified
Time 14.8 ms
TLS TLSv1.3
Cipher TLS_AES_256_GCM_SHA384
Hostname valid (example.test)
Subject CN=example.test
Issuer CN=Training CA
Valid to 2027-10-31 00:00:00 UTC
Chain 2 certificatescert -h example.test -sni www.example.testУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Host example.test
SNI www.example.test
IP 192.0.2.80
Port 443
Status verified
Time 14.8 ms
TLS TLSv1.3
Cipher TLS_AES_256_GCM_SHA384
Hostname valid (www.example.test)
Subject CN=example.test
Issuer CN=Training CA
Valid to 2027-10-31 00:00:00 UTCcert -h example.test -kУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Host example.test
IP 192.0.2.80
Port 443
Status unverified
Time 14.8 ms
TLS TLSv1.3
Cipher TLS_AES_256_GCM_SHA384
Hostname valid (example.test)
Subject CN=example.test
Issuer CN=Training CA
Valid to 2027-10-31 00:00:00 UTCcert -h example.test -jУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
{
"rows": [
{
"name": "Host",
"value": "example.test"
},
{
"name": "IP",
"value": "192.0.2.80"
},
{
"name": "Port",
"value": "443"
},
{
"name": "Status",
"value": "verified"
},
{
"name": "Time",
"value": "14.8 ms"
},
{
"name": "TLS",
"value": "TLSv1.3"
},
{
"name": "Cipher",
"value": "TLS_AES_256_GCM_SHA384"
},
{
"name": "Hostname",
"value": "valid (example.test)"
},
{
"name": "Subject",
"value": "CN=example.test"
},
{
"name": "Issuer",
"value": "CN=Training CA"
},
{
"name": "Valid to",
"value": "2027-10-31 00:00:00 UTC"
}
]
}cert -h example.test -o tmp/chain.pemУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Host example.test
IP 192.0.2.80
Port 443
Status verified
Time 14.8 ms
TLS TLSv1.3
Cipher TLS_AES_256_GCM_SHA384
Hostname valid (example.test)
Subject CN=example.test
Issuer CN=Training CA
Valid to 2027-10-31 00:00:00 UTC
Saved sandbox/tmp/chain.pemcert -i certs/server.crtУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
File sandbox/certs/server.crt
Certificates 1
Certificate 1:
Subject CN=example.test, O=lil
Issuer CN=example.test, O=lil
Serial 01FAB2F36D62878EE1C3EF872CC4924ADAE7FACD
Valid from 2026-08-09 08:38:07 UTC
Valid to 2036-08-06 08:38:07 UTC
Validity valid, 3566 days remaining
SAN DNS:example.test, DNS:www.example.test
Key RSA
Key bits 2048
Signature RSA-SHA256
SHA256 FE:BE:96:6B:FD:A6:EA:E5:98:E1:66:7E:A3:32:72:7D:E3:DE:37:CC:D8:2F:64:63:76:73:26:C6:4B:F5:7D:CD
Constraints CA:FALSE
Key usage Digital Signature, Key Encipherment
Extended usage TLS Web Server Authentication
Subject key ID D6:14:0F:93:56:90:A8:E6:CC:3D:8C:D5:16:AE:EB:05:0C:07:8B:1D
Authority key ID D6:14:0F:93:56:90:A8:E6:CC:3D:8C:D5:16:AE:EB:05:0C:07:8B:1Dcert -i certs/server.csrУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
File sandbox/certs/server.csr
Type CSR
Subject CN=example.test, O=lil
Key RSA
Key bits 2048cert -i certs/server.keyУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
File sandbox/certs/server.key
Type private key
Key RSA
Key bits 2048cert -i certs/server.p12 -p demoУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
File sandbox/certs/server.p12
Type PKCS#12
Certificates 1
Private key yes
Certificate 1:
Subject CN=example.test, O=lil
Issuer CN=example.test, O=lil
Serial 01FAB2F36D62878EE1C3EF872CC4924ADAE7FACD
Valid from 2026-08-09 08:38:07 UTC
Valid to 2036-08-06 08:38:07 UTC
Validity valid, 3566 days remaining
SAN DNS:example.test, DNS:www.example.test
Key RSA
Key bits 2048
Signature RSA-SHA256
SHA256 FE:BE:96:6B:FD:A6:EA:E5:98:E1:66:7E:A3:32:72:7D:E3:DE:37:CC:D8:2F:64:63:76:73:26:C6:4B:F5:7D:CDcert -i certs/server.crt -jsonУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
{
"rows": [
{
"name": "File",
"value": "sandbox/certs/server.crt"
},
{
"name": "Certificates",
"value": "1"
},
{
"name": "Certificate 1:",
"value": ""
},
{
"name": "Subject",
"value": "CN=example.test, O=lil"
},
{
"name": "Issuer",
"value": "CN=example.test, O=lil"
},
{
"name": "Serial",
"value": "01FAB2F36D62878EE1C3EF872CC4924ADAE7FACD"
},
{
"name": "Valid from",
"value": "2026-08-09 08:38:07 UTC"
},
{
"name": "Valid to",
"value": "2036-08-06 08:38:07 UTC"
},
{
"name": "Validity",
"value": "valid, 3566 days remaining"
},
{
"name": "SAN",
"value": "DNS:example.test, DNS:www.example.test"
},
{
"name": "Key",
"value": "RSA"
},
{
"name": "Key bits",
"value": "2048"
},
{
"name": "Signature",
"value": "RSA-SHA256"
},
{
"name": "SHA256",
"value": "FE:BE:96:6B:FD:A6:EA:E5:98:E1:66:7E:A3:32:72:7D:E3:DE:37:CC:D8:2F:64:63:76:73:26:C6:4B:F5:7D:CD"
},
{
"name": "Constraints",
"value": "CA:FALSE"
},
{
"name": "Key usage",
"value": "Digital Signature, Key Encipherment"
},
{
"name": "Extended usage",
"value": "TLS Web Server Authentication"
},
{
"name": "Subject key ID",
"value": "D6:14:0F:93:56:90:A8:E6:CC:3D:8C:D5:16:AE:EB:05:0C:07:8B:1D"
},
{
"name": "Authority key ID",
"value": "D6:14:0F:93:56:90:A8:E6:CC:3D:8C:D5:16:AE:EB:05:0C:07:8B:1D"
}
]
}cert -v certs/server.crt -host example.testУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
File sandbox/certs/server.crt
Purpose TLS server
Time valid
Trust invalid
Hostname valid (example.test)
Result invalidcert -v certs/server.crt -ca certs/server.crtУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
File sandbox/certs/server.crt
Purpose TLS server
Time valid
Trust valid
Result validcert -v certs/server.crt -clientУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
File sandbox/certs/server.crt
Purpose TLS client
Time valid
Trust invalid
Result invalidcert -m certs/server.crt certs/server.keyУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Certificate sandbox/certs/server.crt
Private key sandbox/certs/server.key
Result matchcert -m certs/server.crt certs/server.key -jУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
{
"rows": [
{
"name": "Certificate",
"value": "sandbox/certs/server.crt"
},
{
"name": "Private key",
"value": "sandbox/certs/server.key"
},
{
"name": "Result",
"value": "match"
}
]
}cert -key tmp/demo.key -rsa 2048Учебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
README.txt
current.txt
demo.key
draft.txt
new.txtcert -key tmp/demo-ec.key -ec prime256v1Учебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
README.txt
current.txt
demo-ec.key
draft.txt
new.txtcert -csr certs/server.key tmp/demo.csr "CN=example.test" -san DNS:example.testУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
README.txt
current.txt
demo.csr
draft.txt
new.txtcert -self certs/server.key tmp/demo.crt "CN=example.test" -san DNS:example.testУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
README.txt
current.txt
demo.crt
draft.txt
new.txtcert -der certs/server.crt tmp/demo.derУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
README.txt
current.txt
demo.der
draft.txt
new.txtcert -pem certs/server.der tmp/demo.pemУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
README.txt
current.txt
demo.pem
draft.txt
new.txtcert -p12 certs/server.crt certs/server.key tmp/demo.p12Учебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
README.txt
current.txt
demo.p12
draft.txt
new.txtcert -p12 -r certs/server.p12 tmp/unpacked -p demoУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
server.cert.pem
server.key.pemcert -sign certs/server.csr certs/server.crt certs/server.key tmp/signed.crtУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
CA certificate is not allowed to sign certificatescert -v certs/server.crt -chain certs/server.crtУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
File sandbox/certs/server.crt
Purpose TLS server
Time valid
Trust invalid
Result invalidcert -h example.test -4 -6Учебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Choose either IPv4 or IPv6cert -h example.test -t 301Учебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Invalid timeoutcert -i certs/missing.pemУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
File not foundcert -v certs/missing.pemУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Certificate not foundcert -m certs/server.crt certs/missing.keyУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Private key not foundcert -key tmp/demo.key -rsa 1024Учебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
RSA bits must be 2048–16384 in steps of 256cert -h example.test -sniУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
SNI name requiredcert -key tmp/demo.key -ec unknownУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Use prime256v1, secp384r1, or secp521r1cert -key tmp/demo.key -f -rsa 2048Учебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
README.txt
current.txt
demo.key
draft.txt
new.txtcert -self certs/missing.key tmp/missing.crt "CN=example.test"Учебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Private key not foundcert -h example.test -ca missing-ca.pemУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
CA file not foundcert -unknownУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
Unknown cert operationcert -i certs/server.crt -j -jsonУчебный пример — реальные HTTP-, почтовые и TLS-запросы не выполняются
{
"rows": [
{
"name": "File",
"value": "sandbox/certs/server.crt"
},
{
"name": "Certificates",
"value": "1"
},
{
"name": "Certificate 1:",
"value": ""
},
{
"name": "Subject",
"value": "CN=example.test, O=lil"
},
{
"name": "Issuer",
"value": "CN=example.test, O=lil"
},
{
"name": "Serial",
"value": "01FAB2F36D62878EE1C3EF872CC4924ADAE7FACD"
},
{
"name": "Valid from",
"value": "2026-08-09 08:38:07 UTC"
},
{
"name": "Valid to",
"value": "2036-08-06 08:38:07 UTC"
},
{
"name": "Validity",
"value": "valid, 3566 days remaining"
},
{
"name": "SAN",
"value": "DNS:example.test, DNS:www.example.test"
},
{
"name": "Key",
"value": "RSA"
},
{
"name": "Key bits",
"value": "2048"
},
{
"name": "Signature",
"value": "RSA-SHA256"
},
{
"name": "SHA256",
"value": "FE:BE:96:6B:FD:A6:EA:E5:98:E1:66:7E:A3:32:72:7D:E3:DE:37:CC:D8:2F:64:63:76:73:26:C6:4B:F5:7D:CD"
},
{
"name": "Constraints",
"value": "CA:FALSE"
},
{
"name": "Key usage",
"value": "Digital Signature, Key Encipherment"
},
{
"name": "Extended usage",
"value": "TLS Web Server Authentication"
},
{
"name": "Subject key ID",
"value": "D6:14:0F:93:56:90:A8:E6:CC:3D:8C:D5:16:AE:EB:05:0C:07:8B:1D"
},
{
"name": "Authority key ID",
"value": "D6:14:0F:93:56:90:A8:E6:CC:3D:8C:D5:16:AE:EB:05:0C:07:8B:1D"
}
]
}Завершена синхронизация локальной и серверной справки и усилена безопасность локализации