cert

cert inspecte les éléments TLS distants et locaux, vérifie confiance et nom d’hôte, contrôle les paires certificat/clé, crée clés et CSR, signe des certificats et convertit PEM, DER et PKCS#12.

SécuritéVersion 1.2.4Stable
lil-terminal

Vue d’ensemble

Utilisez cert pour le diagnostic comme pour la préparation des certificats sans commande OpenSSL système. La vérification distante est active par défaut ; -k n’est qu’une exception de diagnostic et les clés privées créées reçoivent des permissions restrictives.

Identité, confiance et correspondance de clé sont des contrôles distincts

Un certificat peut être valide dans le temps mais échouer sur la confiance ou le nom d’hôte ; il peut aussi ne pas correspondre à la clé privée. Utilisez -v pour confiance/nom, -m pour la paire et -h -chain pour la chaîne réellement présentée par le serveur distant.

Syntaxe

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

Référence

cert -h me [port]

inspecter le certificat TLS de l’hôte courant

cert -h <host|url> [port]

inspecter un certificat TLS distant

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

inspecter certificat, CSR, clé ou bundle PKCS#12 local

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

vérifier dates, confiance et nom d’hôte

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

vérifier la correspondance certificat/clé privée

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

créer une clé privée

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

créer une demande de signature de certificat

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

créer un certificat autosigné

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

signer une CSR avec un certificat d’autorité

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

convertir un certificat PEM en DER

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

convertir un certificat DER en PEM

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

créer un bundle PKCS#12

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

extraire un bundle PKCS#12

-j | -json

afficher les résultats -h, -i, -v ou -m en JSON

-t [seconds]

utiliser 5 secondes ou un délai de 1 à 300 pour TLS distant

-T

utiliser un délai de 300 secondes pour TLS distant

-4 | -6

utiliser IPv4 ou IPv6 pour TLS distant

-k

autoriser un certificat TLS distant non vérifié

-chain

afficher toute la chaîne de certificats distante

-sni <name>

remplacer le nom TLS SNI

-ca <file>

utiliser un fichier CA explicite lorsque pris en charge

-host <name>

vérifier un certificat pour un nom d’hôte

-client

vérifier pour un usage client TLS

-p <pass>

fournir un mot de passe d’opération

-f

autoriser le remplacement des fichiers générés

Raccourci de cible

me correspond à l’hôte HTTP courant visible par PHP. Utilisez-le pour inspecter le certificat du site qui sert ce terminal sans ressaisir son nom.

Sécurité

Les certificats distants sont vérifiés par défaut. Les clés privées sont écrites avec des permissions restrictives. Utilisez -k uniquement pour distinguer un problème de confiance d’un problème de connectivité TLS et évitez les mots de passe dans l’historique lorsqu’une saisie masquée existe.

Sortie JSON

Utilisez -j ou -json avec -h, -i, -v ou -m lorsqu’une autre commande ou un workflow API a besoin d’un diagnostic de certificat lisible par machine.

Aperçu interactif du sandbox

Lancez les exemples préparés directement sur la page. Les résultats sont prédéfinis et affichés dans le navigateur ; aucune commande terminal n’est exécutée sur le serveur.

Inspecter un certificat TLS distant

Installer et gérer

Installez la version compatible actuelle. Choisissez Base pour l’ensemble complet des fonctions ou Minimum pour le paquet réduit ; utilisez upgrade pour mettre à jour un module déjà installé.

Base et Minimum sont deux paquets de la même version actuelle du module.

Paquet Base

Installer le paquet complet avec référence locale et tous les modes publiés.

install cert
Paquet Minimum

Installer le paquet réduit. La référence locale est omise ; help <cmd> -i ouvre la référence serveur actuelle.

install cert -m
Version publique exacte

Installer exactement cette version publiée.

install cert -v 1.2.4
Vérifier ou mettre à jour

upgrade vérifie la compatibilité et remplace le bloc seulement si nécessaire.

upgrade cert
Supprimer le module

Supprimer le bloc d’extension sans toucher au noyau ni aux autres modules.

install cert -u

Exemples

Les exemples sont copiables mais ne sont pas exécutés par le site. Vérifiez chemins, droits et options destructrices.

Inspecter un certificat TLS distant
cert -h me
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter un certificat TLS distant
cert -h example.test
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter un certificat TLS distant
cert -h example.test -t 5
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter un certificat TLS distant
cert -h example.test -T
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter un certificat TLS distant
cert -h example.test -4
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter un certificat TLS distant
cert -h example.test -6
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter un certificat TLS distant
cert -h example.test -chain
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter un certificat TLS distant
cert -h example.test -sni www.example.test
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter un certificat TLS distant
cert -h example.test -k
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter un certificat TLS distant
cert -h example.test -j
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
{
    "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"
        }
    ]
}
Inspecter un certificat TLS distant
cert -h example.test -o tmp/chain.pem
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter certificat, CSR, clé ou bundle PKCS#12 local
cert -i certs/server.crt
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter certificat, CSR, clé ou bundle PKCS#12 local
cert -i certs/server.csr
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
File      sandbox/certs/server.csr
Type      CSR
Subject   CN=example.test, O=lil
Key       RSA
Key bits  2048
Inspecter certificat, CSR, clé ou bundle PKCS#12 local
cert -i certs/server.key
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
File      sandbox/certs/server.key
Type      private key
Key       RSA
Key bits  2048
Inspecter certificat, CSR, clé ou bundle PKCS#12 local
cert -i certs/server.p12 -p demo
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
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
Inspecter certificat, CSR, clé ou bundle PKCS#12 local
cert -i certs/server.crt -json
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
{
    "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"
        }
    ]
}
Vérifier dates, confiance et nom d’hôte
cert -v certs/server.crt -host example.test
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
File      sandbox/certs/server.crt
Purpose   TLS server
Time      valid
Trust     invalid
Hostname  valid (example.test)
Result    invalid
Vérifier dates, confiance et nom d’hôte
cert -v certs/server.crt -ca certs/server.crt
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
File     sandbox/certs/server.crt
Purpose  TLS server
Time     valid
Trust    valid
Result   valid
Vérifier dates, confiance et nom d’hôte
cert -v certs/server.crt -client
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
File     sandbox/certs/server.crt
Purpose  TLS client
Time     valid
Trust    invalid
Result   invalid
Vérifier la correspondance certificat/clé privée
cert -m certs/server.crt certs/server.key
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
Certificate  sandbox/certs/server.crt
Private key  sandbox/certs/server.key
Result       match
Vérifier la correspondance certificat/clé privée
cert -m certs/server.crt certs/server.key -j
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
{
    "rows": [
        {
            "name": "Certificate",
            "value": "sandbox/certs/server.crt"
        },
        {
            "name": "Private key",
            "value": "sandbox/certs/server.key"
        },
        {
            "name": "Result",
            "value": "match"
        }
    ]
}
Créer une clé privée
cert -key tmp/demo.key -rsa 2048
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
README.txt
current.txt
demo.key
draft.txt
new.txt
Créer une clé privée
cert -key tmp/demo-ec.key -ec prime256v1
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
README.txt
current.txt
demo-ec.key
draft.txt
new.txt
Créer une demande de signature de certificat
cert -csr certs/server.key tmp/demo.csr "CN=example.test" -san DNS:example.test
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
README.txt
current.txt
demo.csr
draft.txt
new.txt
Créer un certificat autosigné
cert -self certs/server.key tmp/demo.crt "CN=example.test" -san DNS:example.test
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
README.txt
current.txt
demo.crt
draft.txt
new.txt
Convertir un certificat PEM en DER
cert -der certs/server.crt tmp/demo.der
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
README.txt
current.txt
demo.der
draft.txt
new.txt
Convertir un certificat DER en PEM
cert -pem certs/server.der tmp/demo.pem
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
README.txt
current.txt
demo.pem
draft.txt
new.txt
Créer un bundle PKCS#12
cert -p12 certs/server.crt certs/server.key tmp/demo.p12
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
README.txt
current.txt
demo.p12
draft.txt
new.txt
Cert · demo
cert -p12 -r certs/server.p12 tmp/unpacked -p demo
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
server.cert.pem
server.key.pem
Signer une CSR avec un certificat d’autorité
cert -sign certs/server.csr certs/server.crt certs/server.key tmp/signed.crt
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
CA certificate is not allowed to sign certificates
Vérifier dates, confiance et nom d’hôte
cert -v certs/server.crt -chain certs/server.crt
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
File     sandbox/certs/server.crt
Purpose  TLS server
Time     valid
Trust    invalid
Result   invalid
Inspecter un certificat TLS distant
cert -h example.test -4 -6
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
Choose either IPv4 or IPv6
Inspecter un certificat TLS distant
cert -h example.test -t 301
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
Invalid timeout
Inspecter certificat, CSR, clé ou bundle PKCS#12 local
cert -i certs/missing.pem
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
File not found
Vérifier dates, confiance et nom d’hôte
cert -v certs/missing.pem
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
Certificate not found
Vérifier la correspondance certificat/clé privée
cert -m certs/server.crt certs/missing.key
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
Private key not found
Créer une clé privée
cert -key tmp/demo.key -rsa 1024
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
RSA bits must be 2048–16384 in steps of 256
Inspecter un certificat TLS distant
cert -h example.test -sni
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
SNI name required
Créer une clé privée
cert -key tmp/demo.key -ec unknown
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
Use prime256v1, secp384r1, or secp521r1
Créer une clé privée
cert -key tmp/demo.key -f -rsa 2048
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
README.txt
current.txt
demo.key
draft.txt
new.txt
Créer un certificat autosigné
cert -self certs/missing.key tmp/missing.crt "CN=example.test"
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
Private key not found
Inspecter un certificat TLS distant
cert -h example.test -ca missing-ca.pem
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
CA file not found
Cert · -unknown
cert -unknown
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
Unknown cert operation
Inspecter certificat, CSR, clé ou bundle PKCS#12 local
cert -i certs/server.crt -j -json
Exemple pédagogique hors ligne — aucune requête HTTP, mail ou TLS réelle
{
    "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"
        }
    ]
}

Documentation associée

Version publique actuelle

v1.2.42026-08-09

Synchronisation linguistique

Finalise la synchronisation de l’aide locale et serveur et renforce la sûreté de localisation de cert.