Это руководство продемонстрирует, как установить SSL /TLS сертификат на macOS 10.14 Mojave. Предусмотрены два сценария:
- Установить SSL /TLS сертификат для общесистемного использования в Keychain Access
- Установить SSL /TLS сертификат для использования с сервером Apache, включенным в macOS
В зависимости от вашей ситуации вы можете захотеть сделать одно или обе эти вещи; например, если вы настраиваете локальную среду разработки и хотите, чтобы сертификат был доступен как для Apache, так и для клиентского программного обеспечения, такого как веб-браузеры, вы должны сделать и то, и другое. В обоих случаях мы начнем с предположения, что вы сгенерировали запрос на подпись сертификата (CSR) в Keychain Access, как показано в нашем как к. В этом случае ваш закрытый ключ уже будет установлен в Keychain Access. Мы также предполагаем, что проверка завершена и ваш сертификат готов к загрузке. Для получения информации о заказе и получении сертификатов см. Наши инструкции, Заказ и получение SSL /TLS Сертификаты.
Обувь для малышей
-
Загрузите комплект сертификатов из своей учетной записи пользователя, используя апаш ссылка на скачивание.
-
Разархивируйте файл. Он должен содержать ваш сертификат (имя файла будет основано на общем имени в вашем CSR и заканчивается
.crt
) и пакет CA (ca-bundle-client.crt
).
Установка сертификата в Keychain Access
-
Откройте Брелок Access.app, находится в / Applications / Utilities.
-
Выберите связку ключей, в которой установлена ваша пара ключей. В данном случае это Система Брелок.
-
Перейдите в Файл> Импорт элементов…
-
Перейдите к новому сертификату, выберите его и нажмите Откройте.
-
Введите свой пароль и нажмите Изменить брелок.
- Повторите шаги 3-5 выше с
ca-bundle-client.crt
установить промежуточную цепочку сертификатов. -
Вы можете подтвердить, что сертификаты были установлены, выбрав Сертификаты из меню левой боковой панели.
Установите сертификат для Apache
-
если ты сгенерировал ваш CSR в доступе брелка, вам нужно будет экспортировать свой закрытый ключ в виде файла для использования с Apache. открыто Брелок 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 -in 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 / etc / etc / дополнительный / httpd-ssl.conf
Примечание: если вы используетеnano
редактироватьhttpd.conf
, вы можете искать текстовые строки сCtrl-W
- Сохранить
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 # Listen 443
- Поиск строки, начинающейся со строки
<VirtualHost _default_:
(номер порта может отличаться) и закомментировать или удалить Найти линии между этим и</virtualhost>
. - Сохранить
httpd-ssl.conf
и выйдите из текстового редактора. -
Далее откройте
httpd-vhosts.conf
для редактирования:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Создайте запись VirtualHost для сайта, который вы хотите защитить (используйте фактические значения для вашего сайта и сервера, а не те, что указаны здесь), затем сохраните файл и выйдите из текстового редактора.
DocumentRoot "/PATH/TO/WEBSITE" Имя сервера ИМЯ СЕРВЕРА 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-сайт в веб-браузере.