cert

cert ispeziona materiale TLS remoto e locale, verifica attendibilità e host, controlla coppie certificato/chiave, crea chiavi e CSR, firma certificati e converte PEM, DER e PKCS#12.

SicurezzaVersione 1.2.4Stabile
lil-terminal

Panoramica

Usa cert per diagnosi e preparazione dei certificati senza comandi OpenSSL di sistema. La verifica remota è attiva per impostazione predefinita; -k è solo un’eccezione diagnostica e le chiavi private generate hanno permessi restrittivi.

Identità, fiducia e corrispondenza della chiave sono verifiche diverse

Un certificato può essere temporalmente valido ma fallire per fiducia o nome host; può anche non corrispondere alla chiave privata. Usa -v per fiducia/host, -m per la coppia e -h -chain per la catena realmente presentata dal server remoto.

Sintassi

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

Riferimento

cert -h me [port]

ispezionare il certificato TLS dell’host corrente

cert -h <host|url> [port]

ispezionare un certificato TLS remoto

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

ispezionare certificato, CSR, chiave o bundle PKCS#12 locale

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

verificare durata, attendibilità e nome host

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

verificare la corrispondenza tra certificato e chiave privata

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

creare una chiave privata

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

creare una richiesta di firma del certificato

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

creare un certificato autofirmato

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

firmare una CSR con un certificato CA

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

convertire un certificato PEM in DER

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

convertire un certificato DER in PEM

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

creare un bundle PKCS#12

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

estrarre un bundle PKCS#12

-j | -json

mostrare i risultati di -h, -i, -v o -m come JSON

-t [seconds]

usare 5 secondi o un timeout da 1 a 300 per TLS remoto

-T

usare un timeout di 300 secondi per TLS remoto

-4 | -6

usare IPv4 o IPv6 per TLS remoto

-k

consentire un certificato TLS remoto non verificato

-chain

mostrare l’intera catena di certificati remota

-sni <name>

sovrascrivere il nome TLS SNI

-ca <file>

usare un file CA esplicito dove supportato

-host <name>

verificare un certificato per un nome host

-client

verificare per uso client TLS

-p <pass>

fornire una password per l’operazione

-f

consentire la sostituzione dei file generati

Scorciatoia destinazione

me indica l’host HTTP corrente visibile a PHP. Usalo per ispezionare il certificato del sito che sta servendo questo terminale senza riscrivere il nome host.

Sicurezza

I certificati remoti vengono verificati per impostazione predefinita. Le chiavi private sono scritte con permessi restrittivi. Usa -k solo per separare problemi di fiducia dalla raggiungibilità TLS ed evita password nella cronologia quando è disponibile l’input nascosto.

Output JSON

Usa -j o -json con -h, -i, -v o -m quando un altro comando o un workflow API richiede diagnostica dei certificati leggibile dalla macchina.

Anteprima interattiva del sandbox

Esegui gli esempi preparati direttamente nella pagina. I risultati sono predefiniti e mostrati nel browser; sul server non viene eseguito alcun comando del terminale.

Ispezionare un certificato TLS remoto

Installa e gestisci

Installa la versione compatibile corrente. Scegli Base per tutte le funzioni o Minimum per il pacchetto ridotto; usa upgrade per aggiornare un modulo già installato.

Base e Minimum sono due pacchetti della stessa release corrente del modulo.

Pacchetto Base

Installa il pacchetto completo con riferimento locale e tutte le modalità pubblicate.

install cert
Pacchetto Minimum

Installa il pacchetto ridotto. Il riferimento locale è omesso; help <cmd> -i apre il riferimento server corrente.

install cert -m
Versione pubblica esatta

Installa esattamente questa versione pubblicata.

install cert -v 1.2.4
Controlla o aggiorna

upgrade controlla la compatibilità e sostituisce il blocco solo quando serve.

upgrade cert
Rimuovi modulo

Rimuove il blocco estensione senza toccare core e altri moduli.

install cert -u

Esempi

Gli esempi sono copiabili ma il sito non li esegue. Controlla percorsi, permessi e opzioni distruttive.

Ispezionare un certificato TLS remoto
cert -h me
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare un certificato TLS remoto
cert -h example.test
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare un certificato TLS remoto
cert -h example.test -t 5
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare un certificato TLS remoto
cert -h example.test -T
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare un certificato TLS remoto
cert -h example.test -4
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare un certificato TLS remoto
cert -h example.test -6
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare un certificato TLS remoto
cert -h example.test -chain
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare un certificato TLS remoto
cert -h example.test -sni www.example.test
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare un certificato TLS remoto
cert -h example.test -k
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare un certificato TLS remoto
cert -h example.test -j
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
{
    "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"
        }
    ]
}
Ispezionare un certificato TLS remoto
cert -h example.test -o tmp/chain.pem
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare certificato, CSR, chiave o bundle PKCS#12 locale
cert -i certs/server.crt
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare certificato, CSR, chiave o bundle PKCS#12 locale
cert -i certs/server.csr
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
File      sandbox/certs/server.csr
Type      CSR
Subject   CN=example.test, O=lil
Key       RSA
Key bits  2048
Ispezionare certificato, CSR, chiave o bundle PKCS#12 locale
cert -i certs/server.key
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
File      sandbox/certs/server.key
Type      private key
Key       RSA
Key bits  2048
Ispezionare certificato, CSR, chiave o bundle PKCS#12 locale
cert -i certs/server.p12 -p demo
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
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
Ispezionare certificato, CSR, chiave o bundle PKCS#12 locale
cert -i certs/server.crt -json
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
{
    "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"
        }
    ]
}
Verificare durata, attendibilità e nome host
cert -v certs/server.crt -host example.test
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
File      sandbox/certs/server.crt
Purpose   TLS server
Time      valid
Trust     invalid
Hostname  valid (example.test)
Result    invalid
Verificare durata, attendibilità e nome host
cert -v certs/server.crt -ca certs/server.crt
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
File     sandbox/certs/server.crt
Purpose  TLS server
Time     valid
Trust    valid
Result   valid
Verificare durata, attendibilità e nome host
cert -v certs/server.crt -client
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
File     sandbox/certs/server.crt
Purpose  TLS client
Time     valid
Trust    invalid
Result   invalid
Verificare la corrispondenza tra certificato e chiave privata
cert -m certs/server.crt certs/server.key
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
Certificate  sandbox/certs/server.crt
Private key  sandbox/certs/server.key
Result       match
Verificare la corrispondenza tra certificato e chiave privata
cert -m certs/server.crt certs/server.key -j
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
{
    "rows": [
        {
            "name": "Certificate",
            "value": "sandbox/certs/server.crt"
        },
        {
            "name": "Private key",
            "value": "sandbox/certs/server.key"
        },
        {
            "name": "Result",
            "value": "match"
        }
    ]
}
Creare una chiave privata
cert -key tmp/demo.key -rsa 2048
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
README.txt
current.txt
demo.key
draft.txt
new.txt
Creare una chiave privata
cert -key tmp/demo-ec.key -ec prime256v1
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
README.txt
current.txt
demo-ec.key
draft.txt
new.txt
Creare una richiesta di firma del certificato
cert -csr certs/server.key tmp/demo.csr "CN=example.test" -san DNS:example.test
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
README.txt
current.txt
demo.csr
draft.txt
new.txt
Creare un certificato autofirmato
cert -self certs/server.key tmp/demo.crt "CN=example.test" -san DNS:example.test
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
README.txt
current.txt
demo.crt
draft.txt
new.txt
Convertire un certificato PEM in DER
cert -der certs/server.crt tmp/demo.der
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
README.txt
current.txt
demo.der
draft.txt
new.txt
Convertire un certificato DER in PEM
cert -pem certs/server.der tmp/demo.pem
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
README.txt
current.txt
demo.pem
draft.txt
new.txt
Creare un bundle PKCS#12
cert -p12 certs/server.crt certs/server.key tmp/demo.p12
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
README.txt
current.txt
demo.p12
draft.txt
new.txt
Cert · demo
cert -p12 -r certs/server.p12 tmp/unpacked -p demo
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
server.cert.pem
server.key.pem
Firmare una CSR con un certificato CA
cert -sign certs/server.csr certs/server.crt certs/server.key tmp/signed.crt
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
CA certificate is not allowed to sign certificates
Verificare durata, attendibilità e nome host
cert -v certs/server.crt -chain certs/server.crt
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
File     sandbox/certs/server.crt
Purpose  TLS server
Time     valid
Trust    invalid
Result   invalid
Ispezionare un certificato TLS remoto
cert -h example.test -4 -6
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
Choose either IPv4 or IPv6
Ispezionare un certificato TLS remoto
cert -h example.test -t 301
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
Invalid timeout
Ispezionare certificato, CSR, chiave o bundle PKCS#12 locale
cert -i certs/missing.pem
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
File not found
Verificare durata, attendibilità e nome host
cert -v certs/missing.pem
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
Certificate not found
Verificare la corrispondenza tra certificato e chiave privata
cert -m certs/server.crt certs/missing.key
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
Private key not found
Creare una chiave privata
cert -key tmp/demo.key -rsa 1024
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
RSA bits must be 2048–16384 in steps of 256
Ispezionare un certificato TLS remoto
cert -h example.test -sni
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
SNI name required
Creare una chiave privata
cert -key tmp/demo.key -ec unknown
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
Use prime256v1, secp384r1, or secp521r1
Creare una chiave privata
cert -key tmp/demo.key -f -rsa 2048
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
README.txt
current.txt
demo.key
draft.txt
new.txt
Creare un certificato autofirmato
cert -self certs/missing.key tmp/missing.crt "CN=example.test"
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
Private key not found
Ispezionare un certificato TLS remoto
cert -h example.test -ca missing-ca.pem
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
CA file not found
Cert · -unknown
cert -unknown
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
Unknown cert operation
Ispezionare certificato, CSR, chiave o bundle PKCS#12 locale
cert -i certs/server.crt -j -json
Esempio didattico offline — nessuna richiesta HTTP, mail o TLS reale
{
    "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"
        }
    ]
}

Documentazione correlata

Versione pubblica attuale

v1.2.42026-08-09

Sincronizzazione linguistica

Completa la sincronizzazione della guida locale e server e rafforza la sicurezza della localizzazione di cert.