Что такое CSR и как его создать? Полное пошаговое руководство
Защита вашего сайта с помощью HTTPS больше не является необязательной — это фундаментальное требование для доверия пользователей, защиты данных и позиций в поисковых системах. В основе каждой выдачи SSL/TLS-сертификата лежит критически важный, но часто неправильно понимаемый компонент: Запрос на подпись сертификата (CSR). Независимо от того, являетесь ли вы разработчиком, системным администратором или владельцем сайта, понимание того, как правильно сгенерировать и отправить CSR, может сэкономить вам часы устранения неполадок и обеспечить надлежащую защиту вашего сайта.
В этом подробном руководстве мы объясним, что такое CSR, почему он важен, и проведём вас через несколько методов его создания — включая OpenSSL, cPanel и IIS.
Что такое CSR (Запрос на подпись сертификата)?
Запрос на подпись сертификата (CSR) — это блок текста в кодировке Base64, который вы генерируете на своём сервере и отправляете в Центр сертификации (CA) — например, Let’s Encrypt, DigiCert или Sectigo — при подаче заявки на SSL-сертификат. CA считывает информацию, встроенную в CSR, и использует её для выдачи цифрового подписанного сертификата, который обеспечивает HTTPS для вашего домена.
Думайте о CSR как о формальном заявлении: оно сообщает CA, кто вы, какой домен вы хотите защитить, и предоставляет криптографический открытый ключ, который будет встроен в итоговый сертификат.
Какую информацию содержит CSR?
Стандартный CSR включает следующие поля:
| Поле | Описание | Пример |
|---|---|---|
| Common Name (CN) | Полное доменное имя (FQDN) для защиты | www.example.com |
| Organization Name (O) | Юридическое название компании или физического лица | Example Corp Ltd |
| Organizational Unit (OU) | Отдел или подразделение (необязательно) | IT Department |
| Locality (L) | Город, в котором находится организация | New York |
| State/Province (ST) | Полное название штата или провинции | New York |
| Country (C) | Двухбуквенный код страны по ISO | US |
| Email Address | Контактный email (необязательно) | admin@example.com |
| Public Key | Криптографический ключ, используемый для шифрования | RSA 2048-bit или выше |
> Важно: CSR не содержит ваш закрытый ключ. Закрытый ключ генерируется вместе с CSR, но должен всегда надёжно храниться на вашем сервере и никогда не передаваться никому — включая CA.
Почему CSR важен?
Понимание роли CSR помогает прояснить, почему каждая выдача SSL-сертификата начинается с этого шага.
1. Он инициирует запрос SSL-сертификата
Без CSR у CA нет возможности узнать, какой домен вы хотите защитить, кто им владеет и какой открытый ключ встроить в сертификат. CSR — это формальный механизм, запускающий весь процесс выдачи сертификата.
2. Он устанавливает криптографическую основу
CSR содержит ваш открытый ключ, который математически связан с вашим закрытым ключом. Вместе эти ключи образуют основу асимметричного шифрования SSL/TLS. Когда браузер подключается к вашему серверу, он использует открытый ключ (из сертификата) для шифрования данных, а ваш сервер использует закрытый ключ для их расшифровки — гарантируя, что ни одна третья сторона не сможет перехватить коммуникацию.
3. Он обеспечивает проверку личности
В зависимости от типа запрашиваемого SSL-сертификата CA выполняет различные уровни проверки личности с использованием информации из вашего CSR:
- Проверка домена (DV): CA проверяет только то, что вы контролируете домен. Быстро и автоматически.
- Проверка организации (OV): CA проверяет юридическое существование вашей организации в дополнение к контролю над доменом.
- Расширенная проверка (EV): Наиболее строгая проверка — CA верифицирует юридическую личность, физический адрес и операционный статус.
Если вы управляете бизнес-сайтом или платформой электронной коммерции, выбор правильного уровня проверки имеет значение. Вы можете ознакомиться с ассортиментом SSL-сертификатов AlexHost, чтобы найти вариант, наилучшим образом соответствующий вашим требованиям безопасности.
Как создать CSR: пошаговые инструкции
Создание CSR включает два основных шага: генерацию закрытого ключа и последующее использование этого ключа для создания файла CSR. Ниже мы рассмотрим наиболее распространённые методы.
Метод 1: Использование OpenSSL (Linux, macOS, Windows)
OpenSSL — наиболее широко используемый и универсально доступный инструмент для генерации CSR. Он работает на серверах Linux, macOS и Windows (при установленном OpenSSL).
#### Шаг 1: Генерация закрытого ключа
Откройте терминал (или командную строку в Windows) и выполните следующую команду:
openssl genrsa -out private.key 2048Что делает эта команда:
genrsa — генерирует RSA закрытый ключ
-out private.key — сохраняет ключ в файл с именем private.key2048 — задаёт длину ключа в битах (2048-bit — минимально рекомендуемое значение; используйте 4096 для повышенной безопасности)> Совет по безопасности: Храните private.key в защищённом каталоге с ограниченным доступом. Никогда не загружайте его в общедоступное место и не передавайте по электронной почте.
#### Шаг 2: Генерация CSR
После создания закрытого ключа выполните следующую команду для генерации CSR:
openssl req -new -key private.key -out yourdomain.csrOpenSSL предложит вам интерактивно заполнить поля CSR:
Country Name (2 letter code) [AU]: US
State or Province Name (full name) [Some-State]: California
Locality Name (eg, city) []: San Francisco
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Example Corp Ltd
Organizational Unit Name (eg, section) []: IT Department
Common Name (e.g. server FQDN or YOUR name) []: www.example.com
Email Address []: admin@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:> Совет профессионала: Оставьте поле «challenge password» пустым, если ваш CA специально не требует его заполнения. Оно добавляет сложность без существенной пользы для безопасности в большинстве современных рабочих процессов.
После завершения ваш CSR сохраняется в yourdomain.csr. Вы можете просмотреть его содержимое с помощью:
openssl req -text -noout -verify -in yourdomain.csr#### Шаг 3: Генерация ключа и CSR одной командой
Для удобства вы можете объединить шаги 1 и 2 в одну команду:
openssl req -new -newkey rsa:2048 -nodes -keyout private.key -out yourdomain.csrЭто одновременно генерирует закрытый ключ и CSR, запрашивая те же сведения о полях.
#### Шаг 4: Отправка CSR в ваш Центр сертификации
Откройте файл yourdomain.csr в текстовом редакторе и скопируйте всё его содержимое — включая строки -----BEGIN CERTIFICATE REQUEST----- и -----END CERTIFICATE REQUEST-----. Вставьте это в форму подачи заявки вашего CA при покупке или обновлении SSL-сертификата.
#### Шаг 5: Защита закрытого ключа
После получения и установки SSL-сертификата убедитесь, что private.key:
- Хранится с ограниченными правами доступа к файлу (
chmod 600 private.keyв Linux) - Резервно скопирован в надёжном зашифрованном месте
- Никогда не передаётся по незащищённым каналам
Если закрытый ключ утерян или скомпрометирован, необходимо сгенерировать новую пару ключей, создать новый CSR и запросить повторную выдачу сертификата.
Метод 2: Использование cPanel (Shared-хостинг и VPS)
Если ваша хостинговая среда использует cPanel, вы можете сгенерировать CSR непосредственно через графический интерфейс — без необходимости работы с командной строкой. Это идеально подходит для пользователей Shared-хостинга или VPS с cPanel.
Шаги:
- Войдите в свою учётную запись cPanel.
- Перейдите в раздел Безопасность и нажмите SSL/TLS.
- В разделе Запросы на подпись сертификата (CSR) нажмите «Создать, просмотреть или удалить запросы на подпись SSL-сертификата.»
- Заполните поля формы CSR:
- Размер ключа: Выберите 2048 (рекомендуется) или 4096 бит
- Домены: Введите ваше FQDN (например,
www.example.com) - Город, штат, страна: Сведения о местонахождении вашей организации
- Компания и подразделение: Юридическое название организации и отдел
- Email: Контактный адрес электронной почты
- Нажмите Создать.
- cPanel отобразит ваш CSR. Скопируйте полный текст и отправьте его в ваш CA.
> cPanel также автоматически сохраняет ваш закрытый ключ и связывает его с CSR, упрощая последующий шаг установки сертификата.
Метод 3: Использование IIS на Windows Server
Для администраторов, управляющих веб-сайтами на Windows Server с Internet Information Services (IIS), IIS Manager предоставляет встроенный мастер генерации CSR.
Шаги:
- Откройте IIS Manager (
inetmgr). - На панели Подключения слева выберите имя вашего сервера (не конкретный сайт).
- На центральной панели дважды щёлкните Сертификаты сервера.
- На панели Действия справа нажмите Создать запрос сертификата…
- Заполните Свойства различающегося имени:
- Common name, Organization, Organizational unit, City, State, Country
- Нажмите Далее.
- На странице Свойства поставщика служб шифрования:
- Поставщик служб шифрования: Microsoft RSA SChannel Cryptographic Provider
- Длина в битах: 2048 (минимум) или 4096
- Нажмите Далее, выберите путь для сохранения CSR и нажмите Готово.
- Откройте сохранённый файл
.txt, скопируйте его содержимое и отправьте в ваш CA.
> Примечание: IIS хранит ожидающий закрытый ключ внутри системы. Не удаляйте ожидающий запрос из IIS Manager до тех пор, пока не установите выданный сертификат.
Генерация CSR: краткое сравнение методов
| Метод | Платформа | Уровень навыков | Лучше всего подходит для |
|---|---|---|---|
| OpenSSL CLI | Linux, macOS, Windows | Средний | Разработчики, системные администраторы, пользователи VPS |
| cPanel GUI | Любой хостинг на базе cPanel | Начинающий | Пользователи shared-хостинга, управляемого VPS |
| IIS Manager | Windows Server | Средний | Веб-серверы на базе Windows |
Распространённые ошибки при создании CSR, которых следует избегать
Даже опытные администраторы иногда допускают ошибки при генерации CSR. Вот наиболее распространённые из них:
- Использование неверного Common Name: CN должен точно совпадать с доменом, который вы хотите защитить. Для wildcard-сертификата используйте
*.example.com. Для мультидоменного (SAN) сертификата интерфейс вашего CA обработает дополнительные домены отдельно.
- Сокращение поля State/Province: Всегда указывайте полное название (например, «California», а не «CA»). Некоторые CA отклоняют сокращённые записи.
- Потеря закрытого ключа: CSR и закрытый ключ — это связанная пара. Если вы потеряете закрытый ключ до установки сертификата, вам придётся начинать всё заново.
- Использование ключа размером менее 2048 бит: Современные CA и браузеры требуют минимум 2048-битных RSA-ключей. Использование ключей меньшего размера приведёт к отказу или предупреждениям браузера.
- Повторное использование старых CSR: Всегда генерируйте новый CSR для каждого нового запроса или обновления сертификата. Повторное использование CSR может создать угрозы безопасности и быть отклонено некоторыми CA.
После CSR: установка SSL-сертификата
После того как ваш CA проверит CSR и выдаст сертификат, вы получите один или несколько файлов .crt или .pem. Шаги установки варьируются в зависимости от платформы:
- Apache/Nginx на Linux: Настройте пути к файлам сертификата в конфигурации виртуального хоста
- cPanel: Используйте SSL/TLS Manager для установки сертификата с соответствующим закрытым ключом
- IIS: Используйте «Завершить запрос сертификата» в IIS Manager для импорта выданного сертификата
- Plesk / DirectAdmin: Используйте встроенные интерфейсы управления SSL-сертификатами
Для пользователей VPS-хостинга или Выделенных серверов у вас есть полный root-доступ для управления установкой сертификата непосредственно через командную строку или предпочитаемую панель управления.
Часто задаваемые вопросы о CSR
Можно ли повторно использовать CSR для нескольких сертификатов?
Технически да, но это настоятельно не рекомендуется. Каждый запрос сертификата должен использовать свежесгенерированный CSR и пару ключей для поддержания надлежащей гигиены безопасности.
Как долго действует CSR?
Сам CSR не имеет срока действия, но выданный на его основе сертификат — имеет (как правило, 1 год для современных SSL-сертификатов). Вы должны генерировать новый CSR каждый раз при обновлении сертификата.
В чём разница между CSR и сертификатом?
CSR — это ваш *запрос* на получение сертификата. Сертификат — это *выданный документ* от CA, подписанный закрытым ключом CA, которому доверяют браузеры.
Нужен ли CSR для Let’s Encrypt?
Протокол ACME Let’s Encrypt (используемый такими инструментами, как Certbot) автоматически обрабатывает генерацию CSR в фоновом режиме. Однако при необходимости вы также можете предоставить собственный CSR.
Заключение
Запрос на подпись сертификата (CSR) — это важнейший первый шаг в получении SSL/TLS-сертификата для вашего сайта. Он упаковывает ваш открытый ключ и идентификационные данные организации в стандартизированный формат, который Центры сертификации используют для выдачи доверенных сертификатов — обеспечивая HTTPS, шифруя данные пользователей и укрепляя доверие посетителей.
Используете ли вы OpenSSL на Linux VPS, графический интерфейс cPanel на тарифе shared-хостинга или IIS Manager на Windows Server — процесс следует одним и тем же фундаментальным принципам: сгенерируйте надёжный закрытый ключ, создайте CSR с точными данными, отправьте его в ваш CA и защищайте закрытый ключ на протяжении всего процесса.
Готовы защитить свой сайт? Ознакомьтесь с SSL-сертификатами AlexHost — широкий выбор вариантов для проектов любого масштаба и бюджета: от базовой проверки домена до сертификатов с расширенной проверкой для корпоративных сред. Дополните ваш SSL-сертификат надёжным VPS-хостингом или Выделенными серверами, чтобы ваша инфраструктура была столь же надёжной, как и ваша система безопасности.
