Sep 24 2016

Réutiliser un Certificat Exchange / IIS PFX sur Apache

Publié par à 9:44 sous Apache,Exchange,Sécurité

En générant un certificat Microsoft Exchange (ou IIS), profitez-en pour y ajouter des noms de domaine supplémentaires et le réutiliser sur un serveur web Apache. Cela vous fera économiser du temps et de l’argent, à moins que votre CA fournisse des certificats pour des plate-formes multiples.

Certificat PFX sur Apache


PFX est un format d’échange populaire pour les logiciels Microsoft comme Exchange ou IIS. Il s’agit d’un fichier d’archive PKCS#12 qui contient un certificat et la clé privée correspondante. Il peut aussi comporter d’autres choses comme le certificat CA.
Tout d’abord, copiez le fichier pfx généré avec Exchange sur le serveur web Apache où vous devriez avoir tous les outils nécessaires pour extraire et importer le certificat PFX sur Apache.


Extraire la Clé et le Certificat du Fichier PFX

Extraire la clé privée du fichier PFX avec openssl. Entrez le mot de passe s’il vous est demandé.

openssl pkcs12 -in cert.pfx -nocerts -out enc.key -nodes


Puis extraire le certificat

openssl pkcs12 -in cert.pfx -nokeys -out cert.crt


En enfin, déchiffrement de la clé privée RSA

openssl rsa -in enc.key -out dec.key


Importer la Clé et le Certificat dans Apache

 
Déplacez le certificat et la clé privée dans les répertoires appropriés (Sur Linux Redhat), et donner les droits au propriétaire en lecture seule

mv cert.crt /etc/pki/tls/certs/
mv dec.key /etc/pki/tls/private/
chmod 600 /etc/pki/tls/private/dec.key

Sans le chmod, le redémarrage d’Apache retourne une erreur.
 
Si selinux est activé, lancez

restorecon -RvF /etc/pki

pour donner les bons droits aux nouveaux fichiers, ou vous obtiendrez le message d’erreur suivant:
[error] (13)Permission denied: Init: Can’t open server certificate file /etc/pki/tls/certs/cert.crt
 
Déclarez le nouveau certificat dans le fichier de configuration de l’hôte virtuel Apache:
SSLCertificateFile /etc/pki/tls/certs/cert.crt
SSLCertificateKeyFile /etc/pki/tls/private/dec.key
 
Et appliquez les modifications:

/etc/init.d/httpd reload

 
Vous avez maintenant le même certificat sur Exchange (ou IIS au format PFX) et le serveur web Apache. Le certificat peut être utilisé sur d’autres serveurs web comme Nginx par exemple.

Vérifiez avec votre autorité de certification en premier lieu. Certains fournissent des formats de certificats multiples pour des logiciels variés, ce qui peut vous épargner ces manipulations.


No responses yet

Comments RSS

Leave a Reply