Това ръководство ще покаже как да инсталирате SSL /TLS сертификат за macOS 10.14 Mojave. Осигурени са два сценария:
- Инсталирайте SSL /TLS сертификат за общосистемна употреба в Keychain Access
- Инсталирайте SSL /TLS сертификат за използване със сървъра Apache, включен в macOS
В зависимост от вашата ситуация, може да искате да направите едно или и двете неща; например, ако настройвате локална среда за разработка и искате сертификатът да е достъпен както за Apache, така и за клиентски софтуер, като уеб браузъри, бихте направили и двете. И в двата случая ще започнем, като приемем, че сте генерирали заявката си за подписване на сертификат (CSR) в Keychain Access, както е показано в нашата как-да. В този случай вашият частен ключ вече ще бъде инсталиран в Keychain Access. Също така ще приемем, че проверката е завършена и вашият сертификат е готов за изтегляне. За информация относно поръчването и извличането на сертификати, моля, вижте нашите инструкции, Поръчване и извличане на SSL /TLS Сертификати.
Първи стъпки
-
Изтеглете пакета от сертификати от вашия потребителски акаунт, като използвате Apache линк за изтегляне.
-
Разархивирайте файла. Той трябва да съдържа вашия сертификат (името на файла ще се основава на общото име във вашия CSR и завършват с
.crt
) и CA пакета (ca-bundle-client.crt
).
Инсталиране на сертификата в Keychain Access
-
отворено Keychain Access.app, намиращ се в / Applications / Utilities.
-
Изберете ключодържателя, където е инсталирана вашата пара ключове. В този случай това е Система ключодържател.
-
Отидете до Файл> Импортиране на елементи ...
-
Придвижете се до новия си сертификат, изберете го и щракнете отворено.
-
Въведете паролата си и щракнете Променете ключодържателя.
- Повторете стъпки 3-5 по-горе с
ca-bundle-client.crt
за да инсталирате междинната верига от сертификати. -
Можете да потвърдите, че сертификатите са инсталирани, като изберете Сертификати от лявото меню на страничната лента.
Инсталирайте сертификата за Apache
-
Ако ти генерира вашия CSR в Keychain Access, ще трябва да експортирате личния си ключ като файл за използване с Apache. Отворете Keychain Access.app, намиращ се в / Applications / Utilities. (Ако ти генерира CSR с OpenSSL или със SSL.com CSR Мениджър можете да преминете към стъпка 9 по-долу.)
-
Използвайки менюто на лявата странична лента, за да стесните избора си, намерете и изберете частния ключ, който искате да експортирате. В този случай ще експортираме частния ключ за
www.lunchinhouston.com
, намира се вSystem
ключодържател. -
Изберете Файл> Експортиране на елементи ... от менюто.
-
Уверете се, че избраният файлов формат е Обмен на лична информация (.p12) и запазете файла на място, където ще можете да го намерите.
-
Въведете паролата си, за да отключите ключодържателя (ако бъдете подканени), след това създайте парола за файла .p12 и щракнете върху OK.
-
отворено
Terminal.app
, намира се в/Applications/Utilities/
и отидете до папката, в която сте съхранили .p12 файла от стъпка 5. -
употреба
openssl
за да извлечете частния ключ от .p12 файла. (Забележка: заместете имената на файловете, показани тук, за името на вашия .p12 файл и и името на файла, което искате да използвате за ключа). Първо ще бъдете подканени да въведете паролата, която сте създали в стъпка 5, след което ще бъдете подканени да създадете и потвърдите парола, за да защитите частния ключ.$ openssl pkcs12 -nocerts -in Certificates.p12 -out privkey.key
-
След това ще трябва да дешифрирате частния ключ. Въведете следната команда, замествайки имената на входните и изходните файлове по желание (като използвате същото име, както е показано по-долу, ще замените криптирания файл). Ще бъдете подканени да въведете паролата, която сте създали в стъпка 7.
$ openssl rsa -в privkey.key -out privkey.key
- Поставете частния ключ, сертификатите и междинните пакети в защитена директория, където Apache може да ги чете. За тази инструкция ще използваме
/private/etc/apache2/
. В зависимост от избраното местоположение може да се наложи да използватеsudo
за да преместите файловете. -
Отворете основния конфигурационен файл на Apache,
httpd.conf
, в текстов редактор. При стандартната инсталация на Apache на Mojave този файл се намира в/private/etc/apache2/
директория. За да отворите файла за редактиране сnano
, изпълнете следната команда:$ sudo nano /private/etc/apache2/httpd.conf
Забележка: Защото използватеsudo
за да поемете временно достатъчно привилегии за редактиране на този файл, ще бъдете подканени да въведете паролата си, преди да продължите. -
Намерете тези редове в
httpd.conf
и ги коментирайте, като премахнете#
знак в началото на всеки ред:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Включете /private/etc/apache2/extra/httpd-vhosts.conf ... Включете / private / допълнително / httpd-ssl.conf
Забележка: ако използватеnano
редактирамhttpd.conf
, можете да търсите текстови низове сCtrl-W
- Save
httpd.conf
и излезте от текстовия редактор (Ctrl-O
, следван отCtrl-X
innano
). -
След това отворете
httpd-ssl.conf
за редактиране:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Потърсете следните редове и се уверете, че Apache слуша на порт
443
. Ако портът е настроен на8443
или някаква друга стойност, променете я на443
.# # Когато предоставяме и SSL, трябва да слушаме # стандартния HTTP порт (вижте по-горе) и HTTPS порта # Слушайте 443
- Търсете ред, започващ с низа
<VirtualHost _default_:
(номерът на порта може да варира) и коментирайте или премахнете all линии между това и</virtualhost>
. - Save
httpd-ssl.conf
и излезте от текстовия редактор. -
След това отворете
httpd-vhosts.conf
за редактиране:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Създайте запис VirtualHost за сайта, който искате да защитите (използвайте действителните стойности за вашия уебсайт и сървър, вместо показаните тук заместители), след това запазете файла и излезте от текстовия редактор.
DocumentRoot "/PATH/TO/WEBSITE" ServerName SERVERNAME SSLEngine на SSLCertificateFile "https://ee443cc2f1.rocketcdn.me/private/etc/apache8/server.crt" SSLCertificateKeyFile "https://ee2cc2f1.rocketcdn.me/private/etc /apache8/server.key" SSLCertificateChainFile "https://ee2cc2f1.rocketcdn.me/private/etc/apache8/ca-bundle-client.crt"
-
Проверете конфигурацията на Apache със следната команда:
$ sudo apachectl configtest
-
Ако всичко е наред, рестартирайте Apache:
$ sudo apachectl рестартирайте
-
Ако всичко е минало правилно, сте готови! Трябва да можете да навигирате до вашия уебсайт HTTPS в уеб браузър.