15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать
30.10.2024
1 +1

Что такое 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)Двухбуквенный код страны по ISOUS
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.key
  • 2048 — задаёт длину ключа в битах (2048-bit — минимально рекомендуемое значение; используйте 4096 для повышенной безопасности)
  • > Совет по безопасности: Храните private.key в защищённом каталоге с ограниченным доступом. Никогда не загружайте его в общедоступное место и не передавайте по электронной почте.

    #### Шаг 2: Генерация CSR

    После создания закрытого ключа выполните следующую команду для генерации CSR:

    openssl req -new -key private.key -out yourdomain.csr

    OpenSSL предложит вам интерактивно заполнить поля 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.

    Шаги:

    1. Войдите в свою учётную запись cPanel.
    2. Перейдите в раздел Безопасность и нажмите SSL/TLS.
    3. В разделе Запросы на подпись сертификата (CSR) нажмите «Создать, просмотреть или удалить запросы на подпись SSL-сертификата.»
    4. Заполните поля формы CSR:
    • Размер ключа: Выберите 2048 (рекомендуется) или 4096 бит
    • Домены: Введите ваше FQDN (например, www.example.com)
    • Город, штат, страна: Сведения о местонахождении вашей организации
    • Компания и подразделение: Юридическое название организации и отдел
    • Email: Контактный адрес электронной почты
    1. Нажмите Создать.
    2. cPanel отобразит ваш CSR. Скопируйте полный текст и отправьте его в ваш CA.

    > cPanel также автоматически сохраняет ваш закрытый ключ и связывает его с CSR, упрощая последующий шаг установки сертификата.

    Метод 3: Использование IIS на Windows Server

    Для администраторов, управляющих веб-сайтами на Windows Server с Internet Information Services (IIS), IIS Manager предоставляет встроенный мастер генерации CSR.

    Шаги:

    1. Откройте IIS Manager (inetmgr).
    2. На панели Подключения слева выберите имя вашего сервера (не конкретный сайт).
    3. На центральной панели дважды щёлкните Сертификаты сервера.
    4. На панели Действия справа нажмите Создать запрос сертификата…
    5. Заполните Свойства различающегося имени:
    • Common name, Organization, Organizational unit, City, State, Country
    1. Нажмите Далее.
    2. На странице Свойства поставщика служб шифрования:
    • Поставщик служб шифрования: Microsoft RSA SChannel Cryptographic Provider
    • Длина в битах: 2048 (минимум) или 4096
    1. Нажмите Далее, выберите путь для сохранения CSR и нажмите Готово.
    2. Откройте сохранённый файл .txt, скопируйте его содержимое и отправьте в ваш CA.

    > Примечание: IIS хранит ожидающий закрытый ключ внутри системы. Не удаляйте ожидающий запрос из IIS Manager до тех пор, пока не установите выданный сертификат.

    Генерация CSR: краткое сравнение методов

    МетодПлатформаУровень навыковЛучше всего подходит для
    OpenSSL CLILinux, macOS, WindowsСреднийРазработчики, системные администраторы, пользователи VPS
    cPanel GUIЛюбой хостинг на базе cPanelНачинающийПользователи shared-хостинга, управляемого VPS
    IIS ManagerWindows ServerСреднийВеб-серверы на базе Windows

    Распространённые ошибки при создании CSR, которых следует избегать

    Даже опытные администраторы иногда допускают ошибки при генерации CSR. Вот наиболее распространённые из них:

    1. Использование неверного Common Name: CN должен точно совпадать с доменом, который вы хотите защитить. Для wildcard-сертификата используйте *.example.com. Для мультидоменного (SAN) сертификата интерфейс вашего CA обработает дополнительные домены отдельно.
    1. Сокращение поля State/Province: Всегда указывайте полное название (например, «California», а не «CA»). Некоторые CA отклоняют сокращённые записи.
    1. Потеря закрытого ключа: CSR и закрытый ключ — это связанная пара. Если вы потеряете закрытый ключ до установки сертификата, вам придётся начинать всё заново.
    1. Использование ключа размером менее 2048 бит: Современные CA и браузеры требуют минимум 2048-битных RSA-ключей. Использование ключей меньшего размера приведёт к отказу или предупреждениям браузера.
    1. Повторное использование старых 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-хостингом или Выделенными серверами, чтобы ваша инфраструктура была столь же надёжной, как и ваша система безопасности.

    15%

    Сэкономьте 15% на всех хостинговых услугах

    Проверьте свои навыки и получите скидку на любой тарифный план

    Используйте код:

    Skills
    Начать