Това ръководство ще покаже как да инсталирате SSL /TLS сертификат за macOS 10.14 Mojave. Осигурени са два сценария:
- Инсталирайте SSL /TLS сертификат за общосистемна употреба в Keychain Access
- Инсталирайте SSL /TLS сертификат за използване със сървъра Apache, включен в macOS
В зависимост от вашата ситуация, може да искате да направите едно или и двете неща; например, ако настройвате локална среда за разработка и искате сертификатът да е достъпен както за Apache, така и за клиентски софтуер, като уеб браузъри, бихте направили и двете. И в двата случая ще започнем, като приемем, че сте генерирали заявката си за подписване на сертификат (CSR) в Keychain Access, както е показано в нашата как-да. В този случай вашият частен ключ вече ще бъде инсталиран в Keychain Access. Също така ще приемем, че проверката е завършена и вашият сертификат е готов за изтегляне. За информация относно поръчването и извличането на сертификати, моля, вижте нашите инструкции, Поръчване и извличане на SSL /TLS Сертификати - Sanxin.
Първи стъпки
-
Изтеглете пакета от сертификати от вашия потребителски акаунт, като използвате Apache линк за изтегляне.
-
Разархивирайте файла. Той трябва да съдържа вашия сертификат (името на файла ще се основава на общото име във вашия CSR и завършват с
.crt) и CA пакета (ca-bundle-client.crt).
Инсталиране на сертификата в Keychain Access
-
отворено Keychain Access.app, намиращ се в / Applications / Utilities.
-
Изберете ключодържателя, където е инсталирана вашата пара ключове. В този случай това е Система ключодържател.
-
Отидете до Файл> Импортиране на елементи ...
-
Придвижете се до новия си сертификат, изберете го и щракнете отворено.
-
Въведете паролата си и щракнете Променете ключодържателя.
- Повторете стъпки 3-5 по-горе с
ca-bundle-client.crtза да инсталирате междинната верига от сертификати. -
Можете да потвърдите, че сертификатите са инсталирани, като изберете Сертификати - Sanxin от лявото меню на страничната лента.
Инсталирайте сертификата за 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 - Спестявания
httpd.confи излезте от текстовия редактор (Ctrl-O, следван отCtrl-Xinnano). -
След това отворете
httpd-ssl.confза редактиране:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Потърсете следните редове и се уверете, че Apache слуша на порт
443. Ако портът е настроен на8443или някаква друга стойност, променете я на443.# # Когато предоставяме и SSL, трябва да слушаме # стандартния HTTP порт (вижте по-горе) и HTTPS порта # Слушайте 443
- Търсете ред, започващ с низа
<VirtualHost _default_:(номерът на порта може да варира) и коментирайте или премахнете all линии между това и</virtualhost>. - Спестявания
httpd-ssl.confи излезте от текстовия редактор. -
След това отворете
httpd-vhosts.confза редактиране:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Създайте запис VirtualHost за сайта, който искате да защитите (използвайте действителните стойности за вашия уебсайт и сървър, вместо показаните тук заместители), след това запазете файла и излезте от текстовия редактор.
DocumentRoot "/ПЪТ/ДО/УЕБСАЙТ" ServerName SERVERNAME SSLEngine on SSLCertificateFile "/private/etc/apache2/server.crt" SSLCertificateKeyFile "/private/etc/apache2/server.key" SSLCertificateChainFile "/private/etc/apache2/ca-bundle-client.crt"
-
Проверете конфигурацията на Apache със следната команда:
$ sudo apachectl configtest
-
Ако всичко е наред, рестартирайте Apache:
$ sudo apachectl рестартирайте
-
Ако всичко е минало правилно, сте готови! Трябва да можете да навигирате до вашия уебсайт HTTPS в уеб браузър.













