web-dev-qa-db-fra.com

Comment créer facilement un certificat SSL et le configurer dans Apache2 sous Mac OS X?

J'aimerais utiliser mon Mac OS X avec https pour les tests de développement local. Comment faire en sorte que Apache2 réponde facilement à ssl, comme le propose le test - je ne veux pas de vrai certificat, mais un faux pour que le travail local https fonctionne

34
Daniel Cukier

Pour les tests de développement local, un certificat auto-signé est adéquat. Vous pouvez en générer un avec le kit OpenSSL comme suit:

Génération de la clé privée:

openssl genrsa -des3 -out server.key 1024

sortie:

Génération de la clé privée RSA, module long 1024 bits 
 .................................... ..................... ++++++ 
 ........ ++++++ 
 e est 65537 (0x10001) 
 Entrez la phrase secrète PEM: 
 Vérification du mot de passe - Entrez la phrase secrète PEM:

entrez une phrase secrète pour votre clé privée.

Génération de la CSR (demande de signature de certificat):

openssl req -new -key server.key -out server.csr

il demandera des détails comme celui-ci:

Nom du pays (code à 2 lettres) [GB]: 
 Nom de l'État ou de la province (nom complet) [Berkshire]: 
 Nom de la localité (par exemple, ville) [Newbury]: 
 Organisation Nom (par exemple, société) [My Company Ltd]: 
 Nom de l’unité organisationnelle (par exemple, section) []: 
 Nom commun (par exemple, votre nom ou le nom d’hôte de votre serveur) []: 
 Adresse électronique []: 
 Veuillez saisir les attributs "supplémentaires" suivants 
 À envoyer avec votre demande de certificat 
 Un mot de passe de challenge []: 
 Un Nom de société facultatif []:

c'est assez simple, le nom commun est le nom d'hôte de votre serveur, comme indiqué entre parenthèses.

Génération du certificat auto-signé:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Configuration de SSL dans httpd.conf pour Apache:

SSLEngine sur 
 SSLCertificateFile /path/to/generated/server.crt[.____.HERSLCertificateKeyFile /path/to/generated/server.key

(remplacez le chemin approprié par le chemin de votre certificat et de votre clé)

Redémarrez Apache :

apachectl restart

Apache vous demandera la phrase secrète de votre clé. Si vous pensez que le serveur sera souvent arrêté, vous pouvez supprimer la phrase secrète de la clé afin d'éviter de la saisir à chaque fois. Sinon, ne vous en faites pas. Si tel est le cas, terminez cette étape après l'étape 2 ( Génération de la CSR ):

cp server.key server.key.copy
openssl rsa -in server.key.copy -out server.key
58
John T