cert

cert inspeciona material TLS remoto e local, verifica confiança e hostname, confere pares certificado/chave, cria chaves e CSR, assina certificados e converte PEM, DER e PKCS#12.

SegurançaVersão 1.2.4Estável
lil-terminal

Visão geral

Use cert tanto para diagnóstico quanto para preparar certificados sem comandos OpenSSL do sistema. A verificação remota fica ativa por padrão; -k é uma exceção diagnóstica e chaves privadas novas são gravadas com permissões restritas.

Identidade, confiança e correspondência da chave são verificações diferentes

Um certificado pode estar dentro da validade e ainda falhar em confiança ou hostname; também pode não corresponder à chave privada. Use -v para confiança/nome, -m para o par e -h -chain para a cadeia realmente apresentada pelo servidor remoto.

Sintaxe

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

Referência

cert -h me [port]

inspecionar o certificado TLS do host atual

cert -h <host|url> [port]

inspecionar um certificado TLS remoto

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

inspecionar certificado, CSR, chave ou pacote PKCS#12 local

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

verificar validade, confiança e hostname

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

verificar se certificado e chave privada correspondem

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

criar uma chave privada

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

criar uma solicitação de assinatura de certificado

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

criar um certificado autoassinado

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

assinar uma CSR com um certificado de CA

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

converter um certificado PEM para DER

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

converter um certificado DER para PEM

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

criar um pacote PKCS#12

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

extrair um pacote PKCS#12

-j | -json

mostrar resultados de -h, -i, -v ou -m em JSON

-t [seconds]

usar 5 segundos ou timeout de 1 a 300 para TLS remoto

-T

usar timeout de 300 segundos para TLS remoto

-4 | -6

usar IPv4 ou IPv6 para TLS remoto

-k

permitir certificado TLS remoto não verificado

-chain

mostrar a cadeia completa de certificados remotos

-sni <name>

sobrescrever o nome TLS SNI

-ca <file>

usar arquivo CA explícito quando suportado

-host <name>

verificar certificado para um hostname

-client

verificar para uso como cliente TLS

-p <pass>

fornecer uma senha da operação

-f

permitir substituição de arquivos gerados

Atalho de destino

me resolve para o host HTTP atual visível ao PHP. Use para inspecionar o certificado do site que está servindo este terminal sem digitar o hostname novamente.

Segurança

Certificados remotos são verificados por padrão. Chaves privadas são gravadas com permissões restritas. Use -k apenas para separar problemas de confiança de conectividade TLS e evite colocar senhas no histórico quando houver entrada oculta.

Saída JSON

Use -j ou -json com -h, -i, -v ou -m quando outro comando ou fluxo de API precisar de diagnóstico de certificados legível por máquina.

Prévia interativa do sandbox

Execute os exemplos preparados diretamente na página. Os resultados são predefinidos e exibidos no navegador; nenhum comando do terminal é executado no servidor.

Inspecionar um certificado TLS remoto

Instalar e gerenciar

Instale a versão compatível atual. Escolha Base para o conjunto completo de recursos ou Minimum para o pacote reduzido; use upgrade para atualizar um módulo já instalado.

Base e Minimum são dois pacotes da mesma versão atual do módulo.

Pacote Base

Instala o pacote completo com referência local e todos os modos publicados.

install cert
Pacote Minimum

Instalar o pacote reduzido. A referência local é omitida; help <cmd> -i abre a referência atual do servidor.

install cert -m
Versão pública exata

Instalar exatamente esta versão publicada.

install cert -v 1.2.4
Verificar ou atualizar

upgrade verifica compatibilidade e substitui o bloco somente quando necessário.

upgrade cert
Remover módulo

Remove o bloco da extensão sem afetar o núcleo ou outros módulos.

install cert -u

Exemplos

Os exemplos podem ser copiados, mas o site não os executa. Revise caminhos, permissões e opções destrutivas.

Inspecionar um certificado TLS remoto
cert -h me
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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
Inspecionar um certificado TLS remoto
cert -h example.test
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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
Inspecionar um certificado TLS remoto
cert -h example.test -t 5
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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
Inspecionar um certificado TLS remoto
cert -h example.test -T
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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
Inspecionar um certificado TLS remoto
cert -h example.test -4
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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
Inspecionar um certificado TLS remoto
cert -h example.test -6
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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 UTC
Inspecionar um certificado TLS remoto
cert -h example.test -chain
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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 certificates
Inspecionar um certificado TLS remoto
cert -h example.test -sni www.example.test
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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 UTC
Inspecionar um certificado TLS remoto
cert -h example.test -k
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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 UTC
Inspecionar um certificado TLS remoto
cert -h example.test -j
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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"
        }
    ]
}
Inspecionar um certificado TLS remoto
cert -h example.test -o tmp/chain.pem
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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.pem
Inspecionar certificado, CSR, chave ou pacote PKCS#12 local
cert -i certs/server.crt
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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:1D
Inspecionar certificado, CSR, chave ou pacote PKCS#12 local
cert -i certs/server.csr
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
File      sandbox/certs/server.csr
Type      CSR
Subject   CN=example.test, O=lil
Key       RSA
Key bits  2048
Inspecionar certificado, CSR, chave ou pacote PKCS#12 local
cert -i certs/server.key
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
File      sandbox/certs/server.key
Type      private key
Key       RSA
Key bits  2048
Inspecionar certificado, CSR, chave ou pacote PKCS#12 local
cert -i certs/server.p12 -p demo
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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:CD
Inspecionar certificado, CSR, chave ou pacote PKCS#12 local
cert -i certs/server.crt -json
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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"
        }
    ]
}
Verificar validade, confiança e hostname
cert -v certs/server.crt -host example.test
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
File      sandbox/certs/server.crt
Purpose   TLS server
Time      valid
Trust     invalid
Hostname  valid (example.test)
Result    invalid
Verificar validade, confiança e hostname
cert -v certs/server.crt -ca certs/server.crt
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
File     sandbox/certs/server.crt
Purpose  TLS server
Time     valid
Trust    valid
Result   valid
Verificar validade, confiança e hostname
cert -v certs/server.crt -client
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
File     sandbox/certs/server.crt
Purpose  TLS client
Time     valid
Trust    invalid
Result   invalid
Verificar se certificado e chave privada correspondem
cert -m certs/server.crt certs/server.key
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
Certificate  sandbox/certs/server.crt
Private key  sandbox/certs/server.key
Result       match
Verificar se certificado e chave privada correspondem
cert -m certs/server.crt certs/server.key -j
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
{
    "rows": [
        {
            "name": "Certificate",
            "value": "sandbox/certs/server.crt"
        },
        {
            "name": "Private key",
            "value": "sandbox/certs/server.key"
        },
        {
            "name": "Result",
            "value": "match"
        }
    ]
}
Criar uma chave privada
cert -key tmp/demo.key -rsa 2048
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
README.txt
current.txt
demo.key
draft.txt
new.txt
Criar uma chave privada
cert -key tmp/demo-ec.key -ec prime256v1
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
README.txt
current.txt
demo-ec.key
draft.txt
new.txt
Criar uma solicitação de assinatura de certificado
cert -csr certs/server.key tmp/demo.csr "CN=example.test" -san DNS:example.test
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
README.txt
current.txt
demo.csr
draft.txt
new.txt
Criar um certificado autoassinado
cert -self certs/server.key tmp/demo.crt "CN=example.test" -san DNS:example.test
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
README.txt
current.txt
demo.crt
draft.txt
new.txt
Converter um certificado PEM para DER
cert -der certs/server.crt tmp/demo.der
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
README.txt
current.txt
demo.der
draft.txt
new.txt
Converter um certificado DER para PEM
cert -pem certs/server.der tmp/demo.pem
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
README.txt
current.txt
demo.pem
draft.txt
new.txt
Criar um pacote PKCS#12
cert -p12 certs/server.crt certs/server.key tmp/demo.p12
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
README.txt
current.txt
demo.p12
draft.txt
new.txt
Cert · demo
cert -p12 -r certs/server.p12 tmp/unpacked -p demo
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
server.cert.pem
server.key.pem
Assinar uma CSR com um certificado de CA
cert -sign certs/server.csr certs/server.crt certs/server.key tmp/signed.crt
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
CA certificate is not allowed to sign certificates
Verificar validade, confiança e hostname
cert -v certs/server.crt -chain certs/server.crt
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
File     sandbox/certs/server.crt
Purpose  TLS server
Time     valid
Trust    invalid
Result   invalid
Inspecionar um certificado TLS remoto
cert -h example.test -4 -6
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
Choose either IPv4 or IPv6
Inspecionar um certificado TLS remoto
cert -h example.test -t 301
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
Invalid timeout
Inspecionar certificado, CSR, chave ou pacote PKCS#12 local
cert -i certs/missing.pem
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
File not found
Verificar validade, confiança e hostname
cert -v certs/missing.pem
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
Certificate not found
Verificar se certificado e chave privada correspondem
cert -m certs/server.crt certs/missing.key
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
Private key not found
Criar uma chave privada
cert -key tmp/demo.key -rsa 1024
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
RSA bits must be 2048–16384 in steps of 256
Inspecionar um certificado TLS remoto
cert -h example.test -sni
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
SNI name required
Criar uma chave privada
cert -key tmp/demo.key -ec unknown
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
Use prime256v1, secp384r1, or secp521r1
Criar uma chave privada
cert -key tmp/demo.key -f -rsa 2048
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
README.txt
current.txt
demo.key
draft.txt
new.txt
Criar um certificado autoassinado
cert -self certs/missing.key tmp/missing.crt "CN=example.test"
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
Private key not found
Inspecionar um certificado TLS remoto
cert -h example.test -ca missing-ca.pem
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
CA file not found
Cert · -unknown
cert -unknown
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou TLS
Unknown cert operation
Inspecionar certificado, CSR, chave ou pacote PKCS#12 local
cert -i certs/server.crt -j -json
Exemplo didático offline — sem solicitações reais HTTP, de e-mail ou 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"
        }
    ]
}

Documentação relacionada

Versão pública atual

v1.2.42026-08-09

Sincronização linguística

Conclui a sincronização da ajuda local e do servidor e reforça a segurança de localização de cert.