Що таке 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 | Контактна електронна пошта (необов’язково) | 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:
- Domain Validation (DV): CA перевіряє лише те, що ви контролюєте домен. Швидко та автоматизовано.
- Organization Validation (OV): CA перевіряє юридичне існування вашої організації на додаток до контролю домену.
- Extended Validation (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 Hosting та VPS)
Якщо ваше хостингове середовище використовує cPanel, ви можете згенерувати CSR безпосередньо через графічний інтерфейс — без необхідності досвіду роботи з командним рядком. Це ідеально підходить для користувачів Shared Web Hosting або VPS з cPanel.
Кроки:
- Увійдіть до свого облікового запису cPanel.
- Перейдіть до розділу Security та натисніть SSL/TLS.
- У розділі Certificate Signing Requests (CSR) натисніть “Generate, view, or delete SSL certificate signing requests.”
- Заповніть поля форми CSR:
- Key Size: Виберіть 2048 (рекомендовано) або 4096 біт
- Domains: Введіть ваше FQDN (наприклад,
www.example.com) - City, State, Country: Дані про місцезнаходження вашої організації
- Company & Division: Юридична назва організації та відділ
- Email: Контактна електронна адреса
- Натисніть Generate.
- cPanel відобразить ваш CSR. Скопіюйте повний текст і надішліть його до вашого CA.
> cPanel також автоматично зберігає ваш приватний ключ і пов’язує його з CSR, спрощуючи подальший крок встановлення сертифіката.
Метод 3: Використання IIS на Windows Server
Для адміністраторів, які керують сайтами на Windows Server з Internet Information Services (IIS), IIS Manager надає вбудований майстер генерації CSR.
Кроки:
- Відкрийте IIS Manager (
inetmgr). - На панелі Connections зліва виберіть ім’я вашого сервера (не конкретний сайт).
- На центральній панелі двічі клацніть Server Certificates.
- На панелі Actions праворуч натисніть Create Certificate Request…
- Заповніть Distinguished Name Properties:
- Common name, Organization, Organizational unit, City, State, Country
- Натисніть Next.
- На сторінці Cryptographic Service Provider Properties:
- Cryptographic service provider: Microsoft RSA SChannel Cryptographic Provider
- Bit length: 2048 (мінімум) або 4096
- Натисніть Next, виберіть шлях до файлу для збереження CSR та натисніть Finish.
- Відкрийте збережений файл
.txt, скопіюйте його вміст і надішліть до вашого CA.
> Примітка: IIS зберігає очікуваний приватний ключ внутрішньо. Не видаляйте очікуваний запит з IIS Manager до успішного встановлення виданого сертифіката.
Генерація CSR: швидке порівняння методів
| Метод | Платформа | Рівень навичок | Найкраще для |
|---|---|---|---|
| OpenSSL CLI | Linux, macOS, Windows | Середній | Розробники, системні адміністратори, користувачі VPS |
| cPanel GUI | Будь-який хостинг на основі cPanel | Початківець | Користувачі shared hosting, керованого 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-bit RSA ключів. Використання меншого розміру призведе до відхилення або попереджень браузера.
- Повторне використання старих CSR: Завжди генеруйте новий CSR для кожного нового запиту на сертифікат або оновлення. Повторне використання CSR може створити ризики для безпеки і може бути відхилено деякими CA.
Після CSR: встановлення SSL-сертифіката
Після того як ваш CA перевірить CSR і видасть сертифікат, ви отримаєте один або кілька файлів .crt або .pem. Кроки встановлення залежать від платформи:
- Apache/Nginx на Linux: Налаштуйте шляхи до файлів сертифіката у конфігурації віртуального хоста
- cPanel: Використовуйте SSL/TLS Manager для встановлення сертифіката з відповідним приватним ключем
- IIS: Використовуйте “Complete Certificate Request” в IIS Manager для імпорту виданого сертифіката
- Plesk / DirectAdmin: Використовуйте вбудовані інтерфейси управління SSL-сертифікатами
Для користувачів VPS Hosting або Dedicated Servers у вас є повний 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 hosting або IIS Manager на Windows Server, процес слідує одним і тим самим фундаментальним принципам: згенеруйте безпечний приватний ключ, створіть CSR з точною інформацією, надішліть його до вашого CA та захищайте свій приватний ключ протягом усього процесу.
Готові захистити свій сайт? Ознайомтеся з SSL-сертифікатами AlexHost для широкого вибору варіантів, що підходять для проектів будь-якого розміру та бюджету — від базової перевірки домену до сертифікатів з розширеною перевіркою для корпоративних середовищ. Поєднайте свій SSL-сертифікат з надійним VPS Hosting або Dedicated Servers, щоб забезпечити таку ж надійність вашої інфраструктури, як і вашого рівня безпеки.
