Génération de certificats avec OpenSSL

Génération des fichiers PEM

Génération d'une clé privée :

openssl genrsa -out private.key 2048

Génération d'une demande de certificat (CSR) :

openssl req -new -key private.key -out request.csr

Génération d'un certificat auto-signé (valable 3 650 jours - 10 ans) :

openssl req -x509 -new -nodes -key private.key -sha256 -days 3650 -out certificate.crt

Création du fichier PEM (clé + certificat) :

cat private.key certificate.crt > fichier.pem

Génération du fichier PKCS#12 (.p12)

Création d'un fichier PKCS#12 contenant la clé privée et le certificat :

openssl pkcs12 -export -out fichier.p12 -inkey private.key -in certificate.crt

Un mot de passe vous sera demandé pour sécuriser le fichier.

Ajout d'une chaîne de certification (optionnel)

Si vous disposez d'un fichier de type ca_bundle.crt :

openssl pkcs12 -export -out fichier.p12 -inkey private.key -in certificate.crt -certfile ca_bundle.crt

Vérification des fichiers

Afficher le contenu d'un certificat PEM :

openssl x509 -in fichier.pem -text -noout

Afficher le contenu d'un fichier PKCS#12 :

openssl pkcs12 -info -in fichier.p12

Installation du certificat sur un client Debian

Copier le certificat (certificate.crt) dans le répertoire des autorités de confiance :

sudo cp certificate.crt /usr/local/share/ca-certificates/moncert.crt

Mettre à jour les certificats :

sudo update-ca-certificates

Le système doit indiquer l'ajout d'un certificat. Redémarrer ensuite les applications (navigateur, client Nextcloud, etc.).

Installation du certificat sur Windows 10 / 11

Ouvrir le fichier certificate.crt puis cliquer sur "Installer le certificat".

Choisir :

Valider l'installation puis redémarrer les applications utilisant le certificat (navigateur, client Nextcloud, etc.).

Alternative en ligne de commande (PowerShell en administrateur) :

certutil -addstore Root certificate.crt

Résumé

Le format PEM est un format texte contenant généralement la clé privée et le certificat.

Le format PKCS#12 (.p12) est un conteneur sécurisé pouvant inclure la clé privée, le certificat et la chaîne de certification, protégé par mot de passe.

Date de mise à jour : Avril 2026