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 :
- Generer la cle privee : creez une cle RSA 2048 bits.
- Creer le certificat : generez le certificat auto-signe avec la cle.
- Configurer le serveur : installez le certificat sur votre serveur de developpement.
- 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.
Liens utiles
Prêt à dormir sur vos deux oreilles ?
Commencez gratuitement, sans carte bancaire.