Files
s-informer-sur-la-tech-www/articles/2026/Créer sa propre Autorité de Certification (CA) avec OpenSSL.md

4.8 KiB

title, description, tags, date, lastmod, type, category, status
title description tags date lastmod type category status
Guide Complet : Créer sa propre Autorité de Certification (CA) avec OpenSSL
openssl
certification
ac
san
2026-02-28 00:29 2026-02-28 00:36
article
Guide
brouillon

Guide Complet : Créer sa propre Autorité de Certification (CA) avec OpenSSL

Dans un environnement de test, un laboratoire local ou un intranet, l'utilisation de certificats SSL "auto-signés" classiques pose souvent problème : les navigateurs affichent des alertes de sécurité rouges et bloquent l'accès.

La solution professionnelle consiste à devenir votre propre Autorité de Certification. En créant une "Racine de confiance" et en l'installant sur vos appareils, tous les certificats que vous générerez ensuite seront instantanément reconnus comme valides et sécurisés.

1. Création de l'Autorité de Certification (La Racine)

C'est votre "passeport maître". Une fois généré, vous devrez installer le fichier ma-ca.crt dans les "Autorités de certification racines de confiance" de vos ordinateurs ou navigateurs.

Générer la clé privée de l'AC

Cette clé est le cœur de votre sécurité. Gardez-la précieusement et ne la partagez jamais.

openssl genrsa -out ma-ca.key 4096

Générer le certificat de l'AC (Self-Signed)

Ce certificat est valable 10 ans. C'est lui que vous distribuerez à vos clients (PC, serveurs, mobiles).

openssl req -x509 -new -nodes -key ma-ca.key -sha256 -days 3650 -out ma-ca.crt \
-subj "/C=FR/ST=Paris/L=Paris/O=MonLabo/CN=Mon AC Locale"

2. Configuration SAN (Subject Alternative Name)

Depuis quelques années, les navigateurs modernes (Chrome, Firefox, Edge) rejettent les certificats qui n'utilisent que le simple "Common Name" (CN). Il est désormais impératif d'utiliser une extension SAN pour lister vos domaines explicitement.

Créez un fichier nommé domaines.ext et collez-y la configuration suivante :

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = acegrp.lan
DNS.2 = *.acegrp.lan
DNS.3 = abonnel.fr
DNS.4 = a5l.fr
DNS.5 = localhost

3. Génération du Certificat pour vos domaines

Nous allons maintenant créer un certificat serveur signé par votre propre AC.

Étape A : Créer la clé privée du serveur

openssl genrsa -out monserveur.key 2048

Étape B : Créer la demande de signature (CSR)

Le CSR est une requête officielle contenant vos informations d'identité.

openssl req -new -key monserveur.key -out monserveur.csr \
-subj "/C=FR/ST=Paris/L=Paris/O=MonLabo/CN=acegrp.lan"

Étape C : Signer le certificat avec votre AC

C'est ici que la magie opère : vous utilisez votre clé racine pour valider le certificat du serveur.

openssl x509 -req -in monserveur.csr -CA ma-ca.crt -CAkey ma-ca.key \
-CAcreateserial -out monserveur.crt -days 825 -sha256 -extfile domaines.ext

Note de sécurité : Nous limitons la validité à 825 jours (environ 2 ans). Les navigateurs récents refusent les certificats serveurs ayant une durée de vie trop longue pour des raisons de sécurité.


4. Récapitulatif des fichiers obtenus

Fichier Rôle Action requise
ma-ca.crt Certificat Racine À importer sur vos PC/Mobiles (Root Store).
monserveur.crt Certificat Serveur À installer sur Nginx, Apache ou IIS.
monserveur.key Clé privée Serveur À installer sur le serveur (Garder secret !).

5. Mise en place pratique (Exemple Nginx)

Pour que vos sites soient reconnus sans erreur, configurez votre bloc server ainsi :

server {
    listen 443 ssl;
    server_name acegrp.lan abonnel.fr a5l.fr;

    ssl_certificate     /etc/nginx/ssl/monserveur.crt;
    ssl_certificate_key /etc/nginx/ssl/monserveur.key;

    # Paramètres de sécurité recommandés
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
}

Astuces de déploiement "Pro"

  • Sur Windows (Parc informatique) : Utilisez une GPO (Stratégie de groupe) pour déployer ma-ca.crt automatiquement dans le magasin "Autorités de certification racines de confiance" de tous les postes du domaine.

  • Sur Linux (Ubuntu/Debian) : Pour que votre système fasse confiance à votre AC en ligne de commande (ex: pour curl), copiez le fichier dans /usr/local/share/ca-certificates/ et lancez la commande :

    sudo update-ca-certificates

  • Sur Android/iOS : Envoyez-vous le fichier .crt par email et ouvrez-le pour l'installer dans les réglages de confiance du profil.


à suivre : script Bash pour automatiser entièrement la génération et le renouvellement de ces certificats.