Ce guide expliquera comment installer un SSL /TLS certificat sur macOS 10.14 Mojave. Deux scénarios sont proposés:
- Installer un SSL /TLS certificat pour une utilisation à l'échelle du système dans Keychain Access
- Installer un SSL /TLS certificat à utiliser avec le serveur Apache inclus avec macOS
Selon votre situation, vous voudrez peut-être faire l'une de ces choses ou les deux; par exemple, si vous configurez un environnement de développement local et que vous souhaitez que le certificat soit disponible à la fois pour Apache et pour les logiciels clients tels que les navigateurs Web, vous feriez les deux. Dans les deux cas, nous commencerons par supposer que vous avez généré votre demande de signature de certificat (CSR) dans Keychain Access, comme indiqué dans notre comment faire. Dans ce cas, votre clé privée sera déjà installée dans Keychain Access. Nous allons également supposer que la validation est terminée et que votre certificat est prêt pour le téléchargement. Pour plus d'informations sur la commande et la récupération des certificats, veuillez consulter notre procédure, Commande et récupération de SSL /TLS Certificats.
Premières étapes
-
Téléchargez l'ensemble de certificats depuis votre compte utilisateur, à l'aide de Apache lien de téléchargement.
-
Décompressez le fichier. Il doit contenir contenir votre certificat (le nom de fichier sera basé sur le nom commun dans votre CSR et se termine par
.crt
) et le bundle CA (ca-bundle-client.crt
).
Installation du certificat dans l'accès au trousseau
-
Ouvert Porte-clés Access.app, situé dans / Applications / Utilitaires.
-
Sélectionnez le trousseau sur lequel votre paire de clés est installée. Dans ce cas, c'est le Système porte-clés.
-
Accédez à Fichier> Importer des éléments…
-
Accédez à votre nouveau certificat, sélectionnez-le et cliquez sur Ouvert.
-
Entrez votre mot de passe et cliquez sur Modifier le trousseau.
- Répétez les étapes 3 à 5 ci-dessus avec
ca-bundle-client.crt
pour installer la chaîne de certificats intermédiaire. -
Vous pouvez confirmer que les certificats ont été installés en sélectionnant Certificats dans le menu de gauche.
Installer le certificat pour Apache
-
Si vous généré votre CSR dans l'accès au trousseau, vous devrez exporter votre clé privée sous forme de fichier à utiliser avec Apache. Ouvert Porte-clés Access.app, situé dans / Applications / Utilitaires. (Si vous généré le CSR avec OpenSSL ou avec SSL.com CSR Gérant vous pouvez passer à l'étape 9 ci-dessous.)
-
En utilisant le menu de la barre latérale gauche pour affiner vos choix, recherchez et sélectionnez la clé privée que vous souhaitez exporter. Dans ce cas, nous allons exporter la clé privée pour
www.lunchinhouston.com
, Situé dans leSystem
porte-clés. -
Choisir Fichier> Exporter les éléments… dans le menu.
-
Assurez-vous que le format de fichier sélectionné est Échange d'informations personnelles (.p12) et enregistrez le fichier à un endroit où vous pourrez le trouver.
-
Entrez votre mot de passe pour déverrouiller le trousseau (si vous y êtes invité), puis créez un mot de passe pour le fichier .p12 et cliquez sur OK.
-
Ouvert
Terminal.app
, Situé dans le/Applications/Utilities/
dossier et accédez au dossier dans lequel vous avez stocké le fichier .p12 à partir de l'étape 5. -
Utilisez
openssl
pour extraire la clé privée du fichier .p12. (Attention : substituez les noms de fichiers indiqués ici au nom de votre fichier .p12 et au nom de fichier que vous souhaitez utiliser pour la clé). Vous serez d'abord invité à saisir le mot de passe que vous avez créé à l'étape 5, puis à créer et vérifier un mot de passe pour protéger la clé privée.$ openssl pkcs12 -nocerts -in Certificates.p12 -out privkey.key
-
Ensuite, vous devrez déchiffrer la clé privée. Entrez la commande suivante, en remplaçant les noms des fichiers d'entrée et de sortie comme vous le souhaitez (l'utilisation du même nom que celui indiqué ci-dessous écrasera le fichier crypté). Vous serez invité à entrer le mot de passe que vous avez créé à l'étape 7.
$ openssl rsa -in cléprivée.clé -out cléprivée.clé
- Placez les fichiers de clé privée, de certificat et de bundle intermédiaire dans un répertoire sécurisé où Apache peut les lire. Pour ce mode d'emploi, nous utiliserons
/private/etc/apache2/
. Selon l'emplacement choisi, vous devrez peut-être utilisersudo
pour déplacer les fichiers. -
Ouvrez le fichier de configuration principal d'Apache,
httpd.conf
, dans un éditeur de texte. Sur l'installation standard d'Apache Mojave, ce fichier se trouve dans le répertoire/private/etc/apache2/
annuaire. Pour ouvrir le fichier pour le modifier avecnano
, exécutez la commande suivante:$ sudo nano /private/etc/apache2/httpd.conf
Attention : Parce que vous utilisezsudo
pour bénéficier temporairement des privilèges suffisants pour modifier ce fichier, vous serez invité à saisir votre mot de passe avant de continuer. -
Trouvez ces lignes dans
httpd.conf
et décommentez-les en supprimant le#
caractère au début de chaque ligne:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Incluez /private/etc/apache2/extra/httpd-vhosts.conf ... Incluez / private / etc / apache / etc extra / httpd-ssl.conf
Attention : si vous utiliseznano
éditerhttpd.conf
, vous pouvez rechercher des chaînes de texte avecCtrl-W
- Enregistrer
httpd.conf
et quittez l'éditeur de texte (Ctrl-O
, Suivie parCtrl-X
innano
). -
Ensuite, ouvrez
httpd-ssl.conf
pour l'édition:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Recherchez les lignes suivantes et assurez-vous qu'Apache écoute sur le port
443
. Si le port est défini sur8443
ou une autre valeur, changez-la en443
.# # Lorsque nous fournissons également SSL, nous devons écouter le # port HTTP standard (voir ci-dessus) et le port HTTPS # Listen 443
- Rechercher une ligne commençant par la chaîne
<VirtualHost _default_:
(le numéro de port peut varier) et commentez ou supprimez tous lignes entre cela et</virtualhost>
. - Enregistrer
httpd-ssl.conf
et quittez l'éditeur de texte. -
Ensuite, ouvrez
httpd-vhosts.conf
pour l'édition:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Créez une entrée VirtualHost pour le site que vous souhaitez protéger (utilisez les valeurs réelles de votre site Web et de votre serveur plutôt que celles de l'espace réservé affichées ici), puis enregistrez le fichier et quittez l'éditeur de texte.
DocumentRoot "/PATH/TO/WEBSITE" Nom du serveur NOM DU SERVEUR SSLEngine sur SSLCertificateFile "https://ee443cc2f1.delivery.rocketcdn.me/private/etc/apache8/server.crt" SSLCertificateKeyFile "https://ee2cc2f1.delivery.rocketcdn.me/private/etc/apache8/server.key" SSLCertificateChainFile "https://ee2cc2f1.delivery.rocketcdn.me/private/etc/apache8/ca-bundle-client.crt"
-
Vérifiez votre configuration Apache avec la commande suivante:
$ sudo apachectl test de configuration
-
Si tout va bien, redémarrez Apache:
$ sudo apachectl redémarrer
-
Si tout s'est bien passé, vous avez terminé! Vous devriez pouvoir accéder à votre site Web HTTPS dans un navigateur Web.