Все статьи о SSL SSL и сертификаты

Что такое CSR (запрос на подпись сертификата)?

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

Что содержится в CSR

ПолеПримерОбязательно?
Common Name (CN)example.comДа
Открытый ключВаш открытый ключ RSA или ECDSAДа
Алгоритм ключаECDSA P-256 или RSA 2048Да
ОрганизацияYour Company LLCОпционально для DV
СтранаUSОпционально для DV
SANwww.example.com, api.example.comДля мультидоменных

Для DV-сертификатов (таких как Let’s Encrypt) имеют значение только доменное имя (имена) и открытый ключ. Поля организации игнорируются.

Как работает генерация CSR

  1. Генерация пары ключей — закрытый ключ и открытый ключ
  2. Создание CSR — кодирование открытого ключа + информации о домене в стандартный формат (PKCS#10)
  3. Подписание CSR — подпись закрытым ключом (доказывает, что у вас есть соответствующий закрытый ключ)
  4. Отправка в CA — CA проверяет вашу принадлежность домена, затем использует CSR для создания сертификата

Закрытый ключ никогда не покидает вашу систему. CSR содержит только открытый ключ.

GetHTTPS обрабатывает CSR автоматически

С традиционными инструментами вам пришлось бы вручную генерировать CSR через OpenSSL:

# Ручной способ (не нужен с GetHTTPS)
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
  -keyout privkey.pem -out csr.pem -nodes \
  -subj "/CN=example.com"

С GetHTTPS вы никогда не видите и не касаетесь CSR. Инструмент:

  1. Генерирует пару ключей в вашем браузере (Web Crypto API)
  2. Автоматически создает CSR на основе введенного домена
  3. Отправляет его в Let’s Encrypt как часть ACME-процесса
  4. Предоставляет вам подписанный сертификат для скачивания

CSR — это внутренний шаг: вы просто вводите домен и получаете сертификат.

Генерация CSR вручную (когда это необходимо)

Если вам нужен отдельный CSR (для коммерческого CA или платформы, требующей загрузки CSR), вот как это сделать:

ECDSA P-256 (рекомендуется)

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
  -keyout privkey.pem -out csr.pem -nodes \
  -subj "/CN=example.com"

RSA 2048

openssl req -new -newkey rsa:2048 \
  -keyout privkey.pem -out csr.pem -nodes \
  -subj "/CN=example.com"

С несколькими доменами (SAN)

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
  -keyout privkey.pem -out csr.pem -nodes \
  -subj "/CN=example.com" \
  -addext "subjectAltName=DNS:example.com,DNS:www.example.com"

Проверка CSR

openssl req -in csr.pem -noout -text

Это покажет доменное имя (имена), алгоритм ключа и размер ключа, содержащиеся в CSR.

CSR в протоколе ACME

В протоколе ACME (используемом Let’s Encrypt) CSR отправляется на этапе финализации — после прохождения валидации домена. CA использует открытый ключ из CSR для создания вашего сертификата. Формат CSR — PKCS#10, закодированный в base64url в ACME JSON-сообщении.

В GetHTTPS весь этот процесс выполняется на JavaScript с использованием Web Crypto API и библиотеки pkijs. Вы никогда не видите сырые байты CSR.

Часто задаваемые вопросы

Нужно ли хранить файл CSR?

Нет. CSR используется только во время запроса сертификата. После того как CA выдаст ваш сертификат, CSR больше не нужен. Храните ваш закрытый ключ и сертификат — CSR можно удалить.

Можно ли повторно использовать CSR при обновлении?

Технически да, но лучше генерировать новую пару ключей и CSR при каждом обновлении. Это соответствует принципу ротации ключей и ограничивает последствия в случае компрометации ключа.

В чем разница между CSR и сертификатом?

CSR — это запрос: он содержит ваш открытый ключ и просит CA подписать его. Сертификат — это результат: подписанное CA заявление о том, что ваш открытый ключ принадлежит вашему домену. CSR — это входные данные; сертификат — это выходные данные.

Можно ли сгенерировать CSR для wildcard-домена?

Да. Используйте *.example.com в качестве Common Name:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
  -keyout privkey.pem -out csr.pem -nodes \
  -subj "/CN=*.example.com"

С GetHTTPS вам не нужно генерировать CSR вручную — введите *.example.com в качестве домена, и GetHTTPS обработает CSR автоматически.

Что означает «key usage» в CSR?

Расширения key usage указывают, для чего может использоваться сертификат — обычно «Digital Signature» и «Key Encipherment» для TLS-сертификатов. GetHTTPS и большинство ACME-клиентов устанавливают их правильно по умолчанию. Вам нужно заботиться о key usage только при ручной генерации CSR для коммерческого CA с особыми требованиями.

Похожие статьи

SSL и сертификаты 2026-05-07
Сертификаты ECC и RSA: какой выбрать?
Сравнение сертификатов ECC (ECDSA P-256) и RSA (2048/4096 бит). Ключи ECC меньше и быстрее. Узнайте, почему GetHTTPS по умолчанию использует ECC и когда RSA всё ещё имеет смысл.
Начало работы 2026-05-08
Как получить бесплатный SSL-сертификат (пошаговое руководство)
Получите бесплатный SSL-сертификат от Let's Encrypt за 5 минут --- без установки программ, без создания аккаунта. Полное руководство: 4 метода, оба типа проверки, установка на 6 платформах и устранение неполадок.
SSL и сертификаты 2026-05-07
Как работает SSL/TLS: TLS-рукопожатие в деталях
Наглядное объяснение TLS-рукопожатия -- как ваш браузер и сервер устанавливают зашифрованное соединение за миллисекунды. Охватывает TLS 1.2, TLS 1.3, возобновление сеанса и прямую секретность.
Получите бесплатный SSL-сертификат в браузере
Без установки, без аккаунта. Ваш приватный ключ никогда не покидает устройство.
Получить сертификат