hostprofi.ru
Подобрать хостинг
Термин·буква C

CSR (запрос на подпись)

краткое определение

CSR (Certificate Signing Request, запрос на подпись сертификата) — зашифрованный блок данных, генерируемый на сервере при получении SSL/TLS-сертификата. Содержит публичный ключ и сведения о домене или организации, отправляется в удостоверяющий центр.

CSR (Certificate Signing Request) — файл в формате PEM или DER, содержащий публичный ключ сервера и идентификационную информацию (Common Name — доменное имя, организация, страна). CSR отправляется в удостоверяющий центр (CA), который подписывает его своим ключом и возвращает готовый SSL/TLS-сертификат.

Как работает

Генерация CSR происходит на сервере с одновременным созданием пары ключей RSA или ECDSA. Приватный ключ остаётся на сервере и никогда не передаётся в CA. В CSR входит:

  • Common Name (CN) — FQDN домена: example.com или *.example.com для wildcard.
  • Organization (O) — название компании (для OV/EV).
  • Country (C) — двухбуквенный код страны ISO 3166 (RU, DE, US).
  • Public Key — открытый ключ RSA-2048/4096 или ECDSA P-256/P-384.

Команда генерации CSR через OpenSSL:

openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr

После отправки в CA производится валидация (DNS, HTTP или email). CA подписывает CSR своим промежуточным ключом, возвращая сертификат в формате PEM (base64). Сертификат устанавливается на сервер вместе с приватным ключом — они должны совпадать.

История

Формат CSR основан на стандарте PKCS#10, определённом RSA Security в 1993 году. RFC 2986 описал PKCS#10 в 2000 году. Формат не изменился с момента появления: CSR 1993 года и современный генерируются одинаково. OpenSSL — наиболее распространённый инструмент генерации, доступен на всех Linux-платформах.

Связь с хостингом

На управляемых хостингах (cPanel, ISPmanager) CSR генерируется автоматически при заказе сертификата. На VPS CSR создаётся вручную через OpenSSL или автоматически через Certbot (который скрывает процесс от пользователя). При использовании Let's Encrypt CSR создаётся Certbot автоматически — явно работать с ним не требуется. При ручном перевыпуске коммерческих сертификатов CSR генерируется заново — использовать старый CSR для нового сертификата нельзя.

Генерация CSR

Генерируется вместе с приватным ключом: openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr. Поля CSR: CN (Common Name = домен), O (Organization), L (City), ST (State), C (Country), emailAddress. Для Wildcard CN = *.domain.ru. Приватный ключ никогда не передаётся CA.

CSR в процессе выпуска сертификата

CSR отправляется в CA. CA проверяет владение доменом (для DV — HTTP-файл или DNS TXT). CA подписывает содержимое CSR своим приватным ключом → выпускает SSL-сертификат. Сертификат + приватный ключ устанавливаются на сервер (Nginx, Apache).

Ошибки при генерации CSR

CN не совпадает с доменом — сертификат не подойдёт. Слабый ключ RSA 1024 — CA откажет. При renew лучше генерировать новый ключ, а не переиспользовать старый. В cPanel CSR генерируется через «SSL/TLS» → «Generate CSR» без командной строки.

SAN в CSR

Для мультидоменного сертификата: в CSR указывают Subject Alternative Names через OpenSSL конфиг. openssl req -new -sha256 -key domain.key -out domain.csr -config san.conf, в san.conf добавить [SAN] subjectAltName=DNS:domain.ru,DNS:www.domain.ru. CSR с SAN = один запрос для нескольких доменов.

Другие термины

CSR (запрос на подпись) — что это, определение и как работает | Справочник — hostprofi.ru