Comment exporter une clé privée à partir du certificate Godaddy et l’utiliser avec SSL Apache

J’ai acheté un certificate Godaddy, je l’ai correctement installé sur mon serveur Mac, alors je vois maintenant 2 entrées dans l’application Keychain:

  • Autorité de certificateion sécurisée Go Daddy
  • mydomain
    • mydomain (clé privée)

Ensuite, j’ai ajouté le certificate (mydomain.com) à un fichier VirtualHost du fichier httpd.conf, donc:

 DocumentRoot "/Library/ApacheTomcat/apache-tomcat-6.0.33/webapps/MyServerAppName" ServerName mydomain.com ErrorLog "/private/var/log/apache2/mydomain.com-error_log" CustomLog "/private/var/log/apache2/mydomain.com-access_log" common SSLCertificateFile /etc/apache2/mydomain.cer JkMountCopy On JkMount /* ajp13  

Ensuite, je suppose que j’ai également besoin du fichier de clé privée, sinon Apache ne parvient pas à gérer le certificate. Comment faire cela? Je peux enregistrer les certificates d’Apple Keychain dans le fichier .pem et .cer.

Dans le trousseau, exportez votre clé privée et votre certificate au format PKCS # 12 (fichier .p12, Échange d’informations personnelles). Vous devriez pouvoir le faire en développant votre entrée de clé privée (dans Keychain Access), en cliquant avec le bouton droit sur son certificate et en utilisant Exporter. Il vous demandera probablement un mot de passe pour protéger ce fichier p12.

Ensuite, dans le terminal, extrayez la clé privée en utilisant OpenSSL:

  umask 0077 openssl pkcs12 -in filename.p12 -nocerts -nodes -out filename-key.pem umask 0022 
  • Notez que vous devez protéger ce fichier, car la clé privée ne sera pas protégée par un mot de passe (pour pouvoir être utilisée par Apache Httpd).

De même, pour le certificate (même s’il semble que vous l’ayez déjà au format PEM, vous n’avez peut-être pas besoin de cette étape):

  openssl pkcs12 -in filename.p12 -clcerts -nokeys -out filename-cert.pem 

Ensuite, définissez les SSLCertificateFile (cert) et SSLCertificateKeyFile (clé privée) pour pointer vers ces fichiers dans votre configuration Apache Httpd.

J’ai eu le même problème et j’ai utilisé ces commandes pour exporter la clé privée

 umask 0077 openssl pkcs12 -in filename.p12 -nocerts -nodes -out filename-key.pem umask 0022 

et ceux-ci pour exporter le certificate

 openssl pkcs12 -in filename.p12 -clcerts -nokeys -out filename-cert.pem