Apache : Créer un CSR et installer un certificat SSL (OpenSSL)
Créez un CSR à l’aide d’OpenSSL et installez votre certificat SSL sur votre serveur Apache
Renforcez la confiance dans vos applications et votre code avec un certificat de signature de code DigiCert.
Suivez les instructions de cette page pour utiliser OpenSSL afin de créer votre demande de signature de certificat (CSR), puis d’installer votre certificat SSL sur votre serveur Apache.
Remarque de redémarrage : Une fois que vous avez installé votre certificat SSL/TLS et configuré le serveur pour l’utiliser, vous devez redémarrer votre instance Apache.
Pour obtenir des instructions sur Ubuntu, consultez Ubuntu Server avec Apache2 : Créer un CSR et installer un certificat SSL (OpenSSL). Pour d’autres instructions sur le système d’exploitation/la plate-forme, consultez Créer une demande de signature de certificat (CSR).
Vous pouvez utiliser ces instructions pour créer des CSR OpenSSL et installer tous les types de certificats SSL DigiCert sur votre serveur Apache : SSL standard, SSL EV, SSL multidomaine, SSL multidomaine EV et SSL Wildcard.
Pour créer votre demande de signature de certificat (CSR), consultez Apache : création de votre CSR avec OpenSSL.
Para un tutorial en español visite la página Apache Crear CSR.
Pour installer votre certificat SSL, consultez Apache : Installation et configuration de votre certificat SSL.
Visite nuestras instrucciones en español para Apache Instalar Certificado SSL.
I. Apache : Création de votre CSR avec OpenSSL
Suivez les instructions de cette section pour créer vos propres commandes shell afin de générer votre CSR Apache avec OpenSSL.
Recommandé: Gagnez du temps. Utilisez l’assistant CSR OpenSSL de DigiCert pour générer une commande OpenSSL afin de créer votre CSR Apache. Il vous suffit de remplir le formulaire, de cliquer sur Générer, puis de coller votre commande OpenSSL personnalisée dans votre terminal.
Comment générer un CSR pour Apache à l’aide d’OpenSSL
Si vous préférez créer vos propres commandes shell pour générer votre CSR Apache, suivez les instructions ci-dessous.
Connectez-vous à votre serveur via votre client terminal (ssh).
Exécuter la commande
À l’invite, tapez la commande suivante :
Note: Assurez-vous de remplacer server par le nom de votre serveur.
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
Commande de génération de CSR openssl
Générer des fichiers
Vous avez maintenant lancé le processus de génération des deux fichiers suivants :
Fichier de clé privée : utilisé pour générer la CSR et plus tard pour sécuriser et vérifier les connexions à l’aide du certificat.
Fichier CSR (Certificate Signing Request) : Utilisé pour commander votre certificat SSL et plus tard pour chiffrer les messages que seule sa clé privée correspondante peut déchiffrer.
Lorsque vous êtes invité à entrer le nom commun (nom de domaine), tapez le domaine complet (FQDN) pour le site que vous allez sécuriser.
Note: Si vous générez une CSR Apache pour un certificat Wildcard, assurez-vous que votre nom commun commence par un astérisque (par exemple, *.example.com).
Lorsque vous y êtes invité, saisissez les informations de votre organisation, en commençant par vos informations géographiques.
Note: Vous avez peut-être déjà configuré les informations par défaut.
Votre fichier .csr OpenSSL est maintenant créé.
Commandez votre certificat SSL/TLS
Ouvrez le fichier .csr que vous avez créé à l’aide d’un éditeur de texte.
Copiez le texte, y compris les balises —–BEGIN NEW CERTIFICATE REQUEST—– et —–END NEW CERTIFICATE REQUEST—–, et collez-le dans le formulaire de commande DigiCert.
Enregistrer la clé privée
Enregistrez (sauvegardez) le fichier .key généré. Vous en aurez besoin plus tard pour installer votre certificat SSL.
Certificat d’installation
Une fois que vous avez reçu votre certificat SSL de DigiCert, vous pouvez l’installer sur votre serveur.
II. Apache : Installation et configuration de votre certificat SSL
Si vous devez toujours créer une demande de signature de certificat (CSR) et commander votre certificat, consultez Apache : Création de votre CSR avec OpenSSL.
Une fois que nous avons validé et émis votre certificat SSL, vous pouvez l’installer sur votre serveur Apache (où le CSR a été généré) et configurer le serveur pour utiliser le certificat.
Comment installer et configurer votre certificat SSL sur votre serveur Apache
Copiez les fichiers de certificat sur votre serveur.
Connectez-vous à votre compte DigiCert et téléchargez les fichiers intermédiaire (DigiCertCA.crt) et votre certificat principal (your_domain_name.crt).
Copiez ces fichiers, ainsi que le fichier .key que vous avez généré lors de la création de la CSR, dans le répertoire du serveur où vous conservez votre certificat et vos fichiers clés.
Note: Rendez-les lisibles par root uniquement pour augmenter la sécurité.
Trouvez le fichier de configuration Apache (httpd.conf) que vous devez modifier.
L’emplacement et le nom du fichier de configuration peuvent varier d’un serveur à l’autre, en particulier si vous utilisez une interface spéciale pour gérer la configuration de votre serveur.
Le fichier de configuration principal d’Apache est généralement nommé httpd.conf ou apache2.conf. Les emplacements possibles pour ce fichier incluent /etc/httpd/ ou /etc/apache2/. Pour une liste complète des dispositions d’installation par défaut pour Apache HTTPD sur divers systèmes d’exploitation et distributions, consultez Httpd Wiki – DistrosDefaultLayout.
Souvent, la configuration du certificat SSL se trouve dans un bloc dans un autre fichier de configuration. Les fichiers de configuration peuvent se trouver dans un répertoire tel que /etc/httpd/vhosts.d/, /etc/httpd/sites/, ou dans un fichier appelé httpd-ssl.conf.
Une façon de localiser la configuration SSL sur les distributions Linux est d’effectuer une recherche à l’aide de grep, comme le montre l’exemple ci-dessous.
Exécutez la commande suivante :
grep -i -r « SSLCertificateFile » /etc/httpd/
Note: Assurez-vous de remplacer /etc/httpd/ par le répertoire de base pour votre installation Apache.
Identifiez le bloc SSL que vous devez configurer.
Si votre site doit être accessible via des connexions sécurisées (https) et non sécurisées (http), vous avez besoin d’un hôte virtuel pour chaque type de connexion. Effectuez une copie de l’hôte virtuel non sécurisé existant et configurez-le pour SSL comme décrit à l’étape 4.
Si votre site n’a besoin d’être accessible qu’en toute sécurité, configurez l’hôte virtuel existant pour SSL comme décrit à l’étape 4.
Configurer le bloc pour le site SSL
Vous trouverez ci-dessous un exemple très simple d’un hôte virtuel configuré pour SSL. Les pièces répertoriées en bleu sont les parties que vous devez ajouter pour la configuration SSL.
DocumentRoot /var/www/html2
ServerName www.yourdomain.com
SSLEngine on
SSLCertificateFile /path/to/your_domain_name.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/DigiCertCA.crt
Veillez à ajuster les noms de fichiers pour qu’ils correspondent à vos fichiers de certificat.
SSLCertificateFile est votre fichier de certificat DigiCert (par exemple, your_domain_name.crt).
SSLCertificateKeyFile est le fichier .key généré lorsque vous avez créé la CSR (par exemple, your_private.key).
SSLCertificateChainFile est le fichier de certificat intermédiaire DigiCert (par exemple, DigiCertCA.crt)
Note: Si la directive SSLCertificateChainFile ne fonctionne pas, essayez d’utiliser la directive SSLCACertificateFile à la place.
Testez votre fichier de configuration Apache avant de redémarrer.
Il est recommandé de vérifier que votre fichier de configuration Apache ne contient pas d’erreurs avant de redémarrer Apache.
Prudence: Apache ne redémarrera pas si vos fichiers de configuration contiennent des erreurs de syntaxe.
Exécutez la commande suivante pour tester votre fichier de configuration (sur certains systèmes, il s’agit d’apache2ctl) :
apachectl configtest
Redémarrez Apache.
Vous pouvez utiliser les commandes apachectl pour arrêter et démarrer Apache avec la prise en charge SSL.
apachectl stop
apachectl start
Restart Notes:
If Apache doesn’t restart with SSL support, try using apachectl startssl instead of apachectl start. If SSL support only loads with apachectl startssl, we recommend you adjust the apache startup configuration to include SSL support in the regular apachectl start command. Otherwise, your server may require to manually restart Apache using apachectl startssl in the event of a server reboot. This usually involves removing the and tags that enclose your SSL configuration.
Congratulations! You’ve successfully installed your SSL certificate.
Testing Your SSL/TLS Certificate Installation
Browser Test
For best results, make sure to close your web browser first and then re-launch it.
Visit your site with the secure https URL (i.e., go to https://www.example.com not http://www.example.com).
Be sure to test your site with more than just Internet Explorer. IE downloads missing intermediate certificates; whereas, other browsers give an error if all the certificates in the certificate chain aren’t installed properly.
Outil de diagnostic d’installation DigiCert SSL®
Si votre site est accessible au public, utilisez notre testeur de certificats de serveur pour tester l’installation de votre certificat SSL/TLS ; Il détecte les problèmes d’installation courants.
Dépannage
Si votre site Web est accessible au public, notre outil de test de certificat SSL peut vous aider à diagnostiquer les problèmes courants.
Si vous recevez un avertissement « non approuvé », consultez les détails du certificat pour voir s’il s’agit du certificat que vous attendez. Vérifiez les champs Objet, Émetteur et Valide pour.
S’il s’agit du certificat que vous attendez et que le certificat SSL est émis par DigiCert, votre SSLCertificateChainFile n’est pas configuré correctement.
Si vous ne voyez pas le certificat que vous attendez, il se peut qu’un autre bloc SSL avant celui que vous avez récemment configuré.
Les hôtes virtuels basés sur le nom ne sont pas possibles avec HTTPS, sauf si vous utilisez le même certificat pour tous les hôtes virtuels (par exemple, un certificat Wildcard ou un certificat SSL multidomaine).
Il ne s’agit pas d’une limitation Apache, mais d’une limitation du protocole SSL. Apache doit envoyer un certificat lors de l’établissement de liaison SSL avant de recevoir la requête HTTP contenant l’en-tête Host. Par conséquent, Apache envoie toujours le SSLCertificateFile à partir du premier bloc qui correspond à l’adresse IP et au port de la requête.
Pour obtenir de l’aide sur le déplacement de vos certificats vers d’autres serveurs ou sur d’autres plates-formes de serveurs, consultez nos instructions d’exportation OpenSSL.
Si vous devez désactiver la compatibilité SSL version 2 afin de répondre aux exigences de conformité PCI, ajoutez la directive suivante à votre fichier de configuration Apache :
SSLCipherSuite HIGH:+MEDIUM:!SSLv2:!EXP:!ADH:!aNULL:!eNULL:!NULL
Si la directive existe déjà, vous devrez peut-être la modifier pour désactiver la version 2 de SSL.
Pour obtenir des instructions sur la façon de corriger les erreurs courantes et des conseils supplémentaires, consultez Dépannage des erreurs de certificat SSL Apache.
Configuration du serveur Apache
Pour plus d’informations sur les configurations de serveur Apache qui peuvent renforcer votre environnement SSL, consultez les ressources suivantes :
Pour obtenir des instructions sur la désactivation du protocole SSL v3, consultez Apache : Désactivation du protocole SSL v3.
Pour plus d’informations sur l’activation de la confidentialité persistante, consultez la section Activation de la confidentialité persistante.


