В этом руководстве показано, как создать CSR (запрос на подпись сертификата) в macOS. Мы рассмотрим два способа, которые работают в любой актуальной версии macOS: мастер Certificate Assistant в приложении Keychain Access (встроенный графический инструмент, не требующий дополнительного ПО), а также командную строку openssl в Terminal. Также сохранён устаревший метод через macOS Server (Server.app) для тех немногих установок, где он всё ещё работает на Monterey.
Важно: компания Apple прекратила поддержку приложения macOS Server 21 апреля 2022 года. Последняя версия, 5.12.2, работает только вплоть до macOS Monterey и недоступна для Ventura, Sonoma, Sequoia и более новых версий. Большинство служб хостинга (веб, почта, календарь, контакты, вики, VPN, DHCP, DNS и другие) были удалены из Server.app ещё в версии 5.7.1 в 2018 году, поэтому даже на Monterey мастер «Get a trusted certificate» остаётся единственным доступным сценарием работы с сертификатами. Если у вас Ventura или более новая версия, используйте метод через Keychain Access или OpenSSL, описанный ниже.
Способ 1: Создание CSR через Keychain Access (актуальная macOS)
Если вы уже создали CSR с помощью другого инструмента, переходите сразу к разделу установка сертификата на macOS.
Keychain Access входит в состав каждой версии macOS и включает Certificate Assistant, который создаёт стандартный файл CSR формата PKCS #10 (с расширением .certSigningRequest). Одновременно в вашей связке ключей login создаётся приватный ключ, который никогда не покидает Mac. Это самый простой способ, если вы не хотите использовать командную строку.
Шаг 1: Откройте Keychain Access
Откройте Keychain Access через Applications > Utilities, либо нажмите Cmd + Space и введите Keychain Access в Spotlight.
В macOS Sequoia, Sonoma и Ventura приложение Keychain Access по-прежнему присутствует, несмотря на то, что новое приложение Apple Passwords теперь отвечает за пароли сайтов. Certificate Assistant находится только в Keychain Access, поэтому открывать нужно именно это приложение.
Шаг 2: Откройте Certificate Assistant
В строке меню перейдите в Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority.
Шаг 3: Заполните данные
В окне Certificate Assistant нужно заполнить несколько полей. Используйте только стандартные символы ASCII: не-латинские буквы в субъекте будут отклонены публичными центрами сертификации.
- User Email Address: действующий контактный адрес электронной почты. Публичные CA используют его для уведомлений о выпуске сертификата.
- Common Name: полное доменное имя, которое требуется защитить, например www.example.com. Для wildcard-сертификата используйте форму со звёздочкой, например *.example.com.
- CA Email Address: оставьте пустым. CSR отправляется через форму заказа CA, а не по электронной почте.
- Request is: выберите Saved to disk. Отметьте Let me specify key pair information, чтобы на следующем экране можно было выбрать тип и размер ключа.
Нажмите Continue. macOS предложит выбрать место для сохранения; выберите папку, которую сможете легко найти позже (например, рабочий стол). Имя файла по умолчанию — CertificateSigningRequest.certSigningRequest; при желании можно переименовать его перед сохранением.
Шаг 4: Выберите пару ключей
На экране Key Pair Information выберите тип и размер ключа, который CA будет привязывать к сертификату:
- Key Size: 2048 бит (текущий минимум для публичных сертификатов) или 4096 бит для более крупного RSA-ключа. Старые 1024-битные ключи отклоняются всеми публичными CA, поэтому не выбирайте их.
- Algorithm: RSA для максимальной совместимости или ECC для современного ключа на эллиптических кривых (меньше по размеру и быстрее, широко поддерживается клиентами).
Нажмите Continue. Certificate Assistant создаёт пару ключей, сохраняет приватный ключ в вашей связке ключей login, записывает CSR в выбранный файл и показывает экран подтверждения. Нажмите Done.
Теперь CSR готов к отправке в ваш CA. Файл .certSigningRequest можно открыть в TextEdit для просмотра; он начинается с -----BEGIN CERTIFICATE REQUEST----- и заканчивается -----END CERTIFICATE REQUEST-----. Скопируйте весь блок (включая эти строки заголовка и окончания) и вставьте его в форму заказа при покупке.
Перед отправкой можно декодировать запрос, чтобы убедиться, что все поля указаны верно, с помощью нашего Декодера CSR.
Способ 2: Создание CSR с помощью OpenSSL в Terminal
Если вы предпочитаете командную строку или вам нужен список Subject Alternative Name (SAN) с несколькими именами хостов в одном запросе, создайте CSR с помощью инструмента openssl в Terminal. Каждая современная версия macOS поставляется с командой LibreSSL по пути /usr/bin/openssl, которая поддерживает тот же синтаксис openssl req, что используется в Linux. Если вы предпочитаете именно OpenSSL, установите его командой brew install openssl@3; после этого исполняемый файл будет находиться по пути /opt/homebrew/opt/openssl@3/bin/openssl (Apple silicon) или /usr/local/opt/openssl@3/bin/openssl (Intel).
Шаг 1: Откройте Terminal
Откройте Terminal через Applications > Utilities, либо нажмите Cmd + Space и введите Terminal. Перейдите в папку, которую сможете легко найти позже, например в рабочую директорию на рабочем столе:
mkdir -p ~/Desktop/csr
cd ~/Desktop/csr
Шаг 2: Создайте приватный ключ и CSR
Выполните следующую команду. Она создаёт новый 2048-битный RSA-ключ (yourdomain.key) и соответствующий CSR (yourdomain.csr) за один шаг, при этом субъект и Subject Alternative Names указываются прямо в команде, чтобы OpenSSL не запрашивал их отдельно:
openssl req -new -newkey rsa:2048 -nodes
-keyout yourdomain.key
-out yourdomain.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com"
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"
Что делает каждая часть команды:
- -newkey rsa:2048 создаёт новый 2048-битный RSA-ключ. Используйте rsa:4096 для более крупного ключа или переключитесь на ECDSA (см. ниже).
- -nodes оставляет приватный ключ незашифрованным, чтобы веб-сервер мог считывать его при запуске без запроса пароля.
- -keyout и -out задают имена файлов приватного ключа и CSR.
- -subj задаёт субъект сертификата. Укажите здесь настоящее название компании, штат и город, а не заглушки. CN (Common Name) — это ваш основной домен.
- -addext «subjectAltName=…» перечисляет все имена хостов, которые должен покрывать сертификат. Публичные CA проверяют список SAN, поэтому обязательно включите туда и Common Name.
Замените yourdomain.com на ваш реальный домен во всех местах. Чтобы покрыть дополнительные имена хостов, добавьте их в список SAN через запятую, например DNS:api.yourdomain.com. Для wildcard-сертификата укажите и wildcard, и обычный домен: DNS:*.yourdomain.com,DNS:yourdomain.com. Используйте официальный двухбуквенный код страны для поля C (например, US, GB, DE).
Если вы предпочитаете ключ ECDSA (меньше по размеру и быстрее, кривая P-256 широко поддерживается), создайте ключ и CSR следующим образом:
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes
-keyout yourdomain.key
-out yourdomain.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com"
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"
Если вы предпочитаете отвечать на вопросы по каждому полю по очереди, используйте более простую форму команды без -subj и -addext:
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr
После этого OpenSSL по очереди запросит каждое поле:
- Country Name (2 letter code): код вашей страны по стандарту ISO 3166-1 alpha-2, например US.
- State or Province Name: полное название вашего штата или региона, а не сокращение.
- Locality Name: город, в котором зарегистрирована ваша организация.
- Organization Name: полное юридическое название компании для сертификатов OV и EV. Для сертификатов DV это значение не проверяется, но не стоит просто нажимать Enter: в этом случае OpenSSL подставит значение по умолчанию из конфигурации, а стандартный openssl.cnf содержит значение Internet Widgits Pty Ltd, которое в итоге попадёт в ваш CSR. Введите одну точку (
.), чтобы оставить поле действительно пустым. - Organizational Unit Name: устарело согласно требованиям CA/Browser Forum. Нажмите Enter, чтобы оставить поле пустым.
- Common Name: полное доменное имя, которое нужно защитить, например www.yourdomain.com, или *.yourdomain.com для wildcard-сертификата.
- Email Address: действующий контактный адрес электронной почты, либо нажмите Enter, чтобы пропустить.
- Когда система запросит a challenge password и an optional company name, нажмите Enter, чтобы оставить оба поля пустыми. Публичные CA игнорируют эти поля.
Обратите внимание, что ни один из запросов не касается SAN. Тем не менее его можно получить, оставив -addext в команде и убрав только -subj: OpenSSL запросит субъект в интерактивном режиме, но всё равно запишет расширение SAN. В противном случае используйте полностью встроенную форму команды, приведённую выше, либо создайте CSR с помощью файла конфигурации OpenSSL.
Шаг 3: Проверьте и отправьте CSR
Перед отправкой CSR в центр сертификации декодируйте его локально, чтобы убедиться, что субъект и список SAN соответствуют задуманному:
openssl req -noout -text -verify -in yourdomain.csr
Убедитесь, что строки Subject и X509v3 Subject Alternative Name указаны верно и что проверка подписи возвращает verify OK. CSR также можно декодировать онлайн с помощью нашего Декодера CSR.
Откройте файл .csr в TextEdit (или выведите его командой cat yourdomain.csr) и скопируйте весь блок, включая строки -----BEGIN CERTIFICATE REQUEST----- и -----END CERTIFICATE REQUEST-----. Вставьте его в форму заказа при покупке. Соответствующий файл yourdomain.key храните в безопасности на том же компьютере; его никогда нельзя отправлять в CA или передавать кому-либо.
Способ 3: Устаревший macOS Server (Server.app на Monterey)
Если вы всё ещё используете macOS Server 5.12.2 на Monterey, встроенный мастер Get a trusted certificate создаёт CSR и сохраняет соответствующий приватный ключ в системной связке ключей (System Keychain). Server версии 5.12.x требует macOS Monterey (более ранние версии, такие как 5.11, поддерживали Big Sur). В Ventura и более новых версиях это приложение недоступно; вместо него используйте метод через Keychain Access или OpenSSL, описанный выше.
Шаг 1: Запустите macOS Server
Откройте Finder > Applications > Server.
Шаг 2: Выберите целевой сервер
- This Mac (YourServerName): создаёт CSR на локальном компьютере. Введите имя пользователя и пароль администратора, затем нажмите Allow.
- Other Mac (YourServerName): создаёт CSR на удалённом Mac. Введите его имя хоста или IP-адрес и учётные данные администратора, затем нажмите Allow.
Шаг 3: Начните создание CSR
- В левой панели, в разделе Server, выберите Certificates.
- Найдите уже существующий самоподписанный сертификат. Он подходит для тестирования и работы в частных сетях, но не является доверенным для публичных браузеров.
- Нажмите кнопку + внизу страницы и выберите Get a trusted certificate, затем нажмите Next.
Шаг 4: Заполните данные CSR
- Host name (CN): полное доменное имя, которое нужно защитить, например www.yoursite.com, или *.yoursite.com для wildcard-сертификата.
- Contact Email Address: действующий адрес электронной почты.
- Organization (O): полное юридическое название компании для сертификатов OV и EV. Для сертификатов DV оставьте поле пустым.
- Organizational Unit (OU): устарело согласно требованиям CA/Browser Forum. Оставьте поле пустым.
- Town / City (L): город, в котором зарегистрирована ваша организация.
- State / Province (ST): полное название вашего штата или региона.
- Country (C): выберите вашу страну из списка.
Проверьте введённые данные, нажмите Next, затем сохраните файл CSR (Save) на диск. Приватный ключ остаётся в системной связке ключей (System Keychain) и потребуется при установке сертификата.
Отправка CSR и дальнейшие шаги
Отправьте содержимое файла .csr (или, в случае Server.app, сохранённый файл) при оформлении заказа SSL-сертификата. После того как CA проверит ваш запрос и выпустит сертификат, следуйте нашему руководству по установке SSL-сертификата на macOS, чтобы импортировать сертификат и настроить веб-сервер. Сертификаты DV обычно выпускаются в течение нескольких минут; выпуск сертификатов OV и EV может занять от одного до пяти рабочих дней.
Сэкономьте 10% на SSL-сертификатах при заказе сегодня!
Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10


