Certificat Auto-Signe pour Developpement

HTTPS en local sans certificat commercial.

Les certificats auto-signes sont parfaits pour les environnements de developpement et de test. Ils permettent de travailler en HTTPS sans avoir a acheter un certificat commercial.

Cependant, les certificats auto-signes ne doivent JAMAIS etre utilises en production car les navigateurs ne leur font pas confiance.

Ce guide vous montre comment creer et utiliser des certificats auto-signes efficacement.

Qu'est-ce qu'un Certificat Auto-Signe

Comprendre les certificats auto-signes :

  • Definition : un certificat signe par sa propre cle privee, sans autorite de certification.
  • Pas de confiance : les navigateurs affichent un avertissement car l'emetteur n'est pas reconnu.
  • Chiffrement valide : le chiffrement fonctionne exactement comme avec un certificat commercial.
  • Usage limite : reserve au developpement, tests, et reseaux internes controles.

Avantages en Developpement

Pourquoi utiliser des certificats auto-signes :

  • Gratuit et instantane : pas de cout ni de delai de validation.
  • Test HTTPS : testez votre code en conditions HTTPS reelles.
  • APIs modernes : accedez aux fonctionnalites qui requierent HTTPS (geolocation, etc.).
  • Pas de dependance : fonctionne hors ligne et ne depend d'aucun service externe.

Creer un Certificat Auto-Signe

Generation avec OpenSSL :

  1. Generer la cle privee : creez une cle RSA 2048 bits.
  2. Creer le certificat : generez le certificat auto-signe avec la cle.
  3. Configurer le serveur : installez le certificat sur votre serveur de developpement.
  4. Accepter l'exception : ajoutez une exception dans votre navigateur pour ce certificat.

Commandes OpenSSL

Generation d'un certificat auto-signe :

# Generer cle + certificat en une commande (valide 365 jours)
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout localhost.key -out localhost.crt \
  -subj "/CN=localhost"

# Avec SAN pour plus de flexibilite
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout localhost.key -out localhost.crt \
  -subj "/CN=localhost" \
  -addext "subjectAltName=DNS:localhost,DNS:*.localhost,IP:127.0.0.1"

Le flag -nodes evite le chiffrement de la cle privee avec un mot de passe.

Bonnes Pratiques

Conseils pour les certificats auto-signes :

  • Jamais en production : utilisez Let's Encrypt ou un certificat commercial pour la production.
  • Utilisez mkcert : cet outil cree une CA locale pour eviter les avertissements du navigateur.
  • Incluez les SAN : les navigateurs modernes requierent les SAN, pas seulement le CN.
  • Documentez : expliquez aux developpeurs comment accepter le certificat.

Checklist

  • Certificat genere avec SAN
  • Serveur configure
  • Exception ajoutee au navigateur
  • Documentation pour l'equipe
  • mkcert envisage pour plus de confort
  • Pas utilise en production

Questions Frequentes

Puis-je l'utiliser en production ?

Non ! Les visiteurs verront des avertissements effrayants et la plupart quitteront votre site.

Pourquoi mon navigateur affiche un avertissement ?

Le certificat n'est pas signe par une autorite de certification reconnue.

C'est quoi mkcert ?

Un outil qui cree une CA locale et l'installe dans votre systeme pour eviter les avertissements.

Le chiffrement fonctionne-t-il ?

Oui, le chiffrement TLS fonctionne exactement comme avec un certificat commercial.

Combien de temps est-il valide ?

Vous choisissez la duree avec -days. Pour le developpement, 365 jours est pratique.

Comment faire confiance au certificat ?

Ajoutez-le au magasin de certificats de confiance de votre OS ou utilisez mkcert.

HTTPS en Local

Les certificats auto-signes sont essentiels pour developper en conditions HTTPS reelles sans cout ni complexite.

Pour la production, utilisez Let's Encrypt et surveillez vos certificats avec MoniTao.

Prêt à dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.