Implanter un certificat SSL P12 sur votre hébergement local apache

Vous disposer d’un serveur local apache déconnecté d’Internet et il vous faut mettre à jour son certificat SSL arrivé à expiration. Dans cet article nous allons voir comment exploiter un certificat SSL fourni au format P12 pour le mettre en place sur un serveur Web Apache.

Le certificat unique inclut le certificat personnel plus sa clé privée associée.
Les certificats au format « P12 » ou « PFX » sont utilisés avec « IIS » (Microsoft Internet Information Services) sous Windows, ils sont chiffrés.

Sur apache il est nécessaire de mettre en place 2 fichiers: un pour le certificat (.cer) en lui même et un pour la clé (.key).
Il va falloir transformer le certificat unique au format .p12 pour en extraire ces deux éléments. Ceci vous est expliqué dans les deux premières étapes qui suivent.

1. Transformer le certificat .P12 en .crt à l’aide d’OpenSSL Light

Pour ce faire il vous faudra utiliser le logicel OpenSSL Light .

OpenSSL Light - transformer un certificat SSL P12 serveur apache

Vous pourrez le trouver en téléchargement ici, mais également sur notre site en version 64bits:

Pour effectuer cette conversion il faut installer une application « Win64OpenSSL_Light-1_1_1q.exe » sur une station en Windows 10.
Lancer C:\Program Files\OpenSSL-Win64\bin\OpenSSL.exe
Vous devriez tomber sur l’invite de commande OpenSSL.
En admettant que votre certificat.p12 soit à la racine du lecteur c:, taper alors la ligne de commande suivante pour procéder à la conversion du certificat:

Syntaxe
OpenSSL> pkcs12 -nodes -in c:\moncertificat.p12 -out c:\moncertificat.crt

2. Extraire le certificat (.cer) et la clé (.key) du fichier .crt obtenu

Le fichier moncertificat.crt a été généré. Il vous faut maintenant en extraire le certificat .cer et la clé privée associée .key.

Ouvrez simplement le fichier moncertificat.crt à l’aide d’un editeur de texte et séparez le certificat de domaine et sa clé dans 2 fichiers distincts en incluant également les lignes « BEGIN » et « END » de chaque élément.
Enregistrez les respectivement en « CertificatWeb.cer » et « ClePrivee.key ».

Ces deux fichiers sont à placer sur votre serveur Web local au niveau du répertoire de votre configuration apache: Apache\conf

3. Activer le SSL sous apache

Il est nécessaire de modifier certains fichiers de paramétrage pour évoluer du protocole « HTTP » en « HTTPS » et activer SSL sur votre serveur Web apache.
Modifier votre fichier de configuration Apache\conf\httpd.conf ainsi:

Fichier httpd.conf
#
#Listen 12.34.56.78:80
Listen 80
Listen 443
#
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
#LoadModule speling_module modules/mod_speling.so
LoadModule ssl_module modules/mod_ssl.so

Afin d’activer SSL avec le certificat et la clé extraits précédemment, modifier le fichier Apache\conf\extra\httpd-vhosts.conf comme suit:

Fichier httpd-vhosts.conf
#
<VirtualHost *:443>

SSLEngine On
SSLCertificateFile « D:/Apache/conf/CertificatWeb.cer »
SSLCertificateKeyFile « D:/Apache/conf/ClePrivee.key »
</VirtualHost>

4. Activer l’extension OpenSSL au niveau de php

Modifier le fichier php\php.ini de votre hébergement local comme suit:

Fichier php.ini
#
extension=php_openssl.dll

5. Adapter les fichiers .htaccess et configuration.php de votre CMS

Votre hébergement apache est maintenant passé en SSL avec un certificat reconnu, mais il vous faudra sans doute adapter les fichiers .htaccess et configuration.php de votre CMS (Site Joomla, WordPress ou autre).

Voici les changements à réaliser pour Joomla comme exemple.

Modifier le fichier Apache\www\joomla\.htaccess comme suit:

Fichier .htaccess
#
## Mod_rewrite in use.
RewriteEngine On
RewriteCond %{HTTPS} OFF
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Enfin modifier le fichier Apache\www\joomla\configuration.phpcomme suit:

Fichier configuration.php
#
public $live_site = ‘https://monsite.fr’;

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.