Загрузить файл
  1. base64hub
  2. Ключи и хеши
  3. Декодер CSR

Декодер CSR (просмотр запроса PKCS#10)

Вставьте блок -----BEGIN CERTIFICATE REQUEST-----, чтобы убедиться, что имена хостов, длина ключа и субъект правильные, прежде чем CA превратит их в сертификат, который уже не исправить.

Бесплатно без регистрации и ограничений Локально ничего не загружается SAN запрошенные расширения по одному Обновлено 27 окт. 2026 г.

Обработка идёт в браузере. Эта страница не может никуда отправить ваши данные – откуда мы это знаем

Как проверить CSR

  1. Вставьте запрос от -----BEGIN CERTIFICATE REQUEST----- до парной строки END или перетащите в поле файл .csr / .req.
  2. Проверьте на карточке Субъект, Альтернативные имена (SAN) и Открытый ключ.
  3. При желании вставьте под CSR закрытый ключ. Его карточка покажет только тип и длину ключа и SPKI-пин SHA-256, который можно сравнить с пином CSR.
  4. Если портал CA хочет запрос в другом виде, используйте Скопировать PEM или Скачать .der.

Что внутри запроса на сертификат

CSR (PKCS#10) невелик: имя субъекта, открытый ключ, необязательные атрибуты и подпись поверх всего этого. Декодер показывает их так:

ПолеПримечания
СубъектC=US, O=Example Corp, CN=app.example.com. Для сертификатов с проверкой домена CA оставляет только то, что проверил, поэтому поля организации обычно отбрасываются.
ВерсияДля PKCS#10 всегда v1.
Открытый ключТип и длина, например RSA 2048 или EC P-256. Эта часть попадает в сертификат без изменений.
Алгоритм подписиОбычно sha256WithRSAEncryption или ecdsa-with-SHA256.
Альтернативные имена (SAN), Использование ключа, Расширенное использование ключаЗапрошенные расширения. CA может их принять, переписать или отбросить.
АтрибутыПрочие атрибуты PKCS#9. Про challengePassword сообщается, что он задан, а значение скрыто.
SPKI-пин SHA-256Хеш открытого ключа. У выпущенного сертификата будет тот же пин.

Ошибки, которые стоит поймать до отправки

  • Нет альтернативных имён (SAN). При сверке имени хоста браузеры игнорируют CN. Публичные CA обычно сами копируют CN в SAN, внутренние CA часто нет, и в итоге сертификат не проходит из-за несовпадения имени.
  • Не хватает имени. www.example.com и example.com считаются разными записями. Wildcard *.example.com не покрывает сам example.com.
  • Слишком короткий ключ. Публичные доверенные CA требуют RSA не короче 2048 бит. CSR с RSA 1024 отклонят.
  • Не тот ключ. CSR, сгенерированный на другом сервере или из старого файла ключа, даст сертификат, которым ваш сервер не сможет воспользоваться. Сравните пины.
  • Опечатки в субъекте. Сейчас их исправить дёшево, а после проверки OV или EV дорого.

Инструмент читает CSR, но не проверяет его самоподпись. Обрезанный или отредактированный запрос всё равно может декодироваться, так что при сомнениях запустите openssl req -verify.

Создание и проверка CSR через OpenSSL

Новый ключ RSA и CSR с двумя именами хостов за один шаг (для -addext нужен OpenSSL 1.1.1 или новее):

openssl req -new -newkey rsa:2048 -nodes -keyout app.key -out app.csr \
  -subj "/CN=app.example.com" \
  -addext "subjectAltName=DNS:app.example.com,DNS:www.app.example.com"

Проверьте его вместе с подписью и убедитесь, что он соответствует ключу:

openssl req -in app.csr -noout -text -verify
diff <(openssl req -in app.csr -noout -pubkey) <(openssl pkey -in app.key -pubout) && echo "key matches"

Для целого запроса строка с -verify выводит Certificate request self-signature verify OK. Больше рецептов для командной строки есть на странице про OpenSSL.

Как CSR выглядит в Base64

CSR, как и сертификат, хранится в виде DER, обёрнутого в PEM. Запрос с RSA-2048 занимает примерно 650–700 байтов DER, поэтому его Base64 начинается с MIIC; запрос с EC P-256 ближе к 300 байтам и начинается с MIIB. Если полученное начинается с MIIC, а в заголовке написано CERTIFICATE, это сертификат, а не запрос. Вставьте его в декодер сертификатов: там тот же виджет, который справляется с обоими и сообщает, что именно нашёл.

Вопросы и ответы

Как проверить, какие домены указаны в CSR?

Вставьте CSR и посмотрите на Альтернативные имена (SAN). Какие имена хостов покроет сертификат, определяет именно этот список; CN в субъекте для этого не используется. Если строки нет, в запросе нет расширения SAN.

Как понять, подходит ли CSR к моему закрытому ключу?

Вставьте CSR и закрытый ключ вместе. Если на обеих карточках одинаковый SPKI-пин SHA-256, у них одна пара ключей. В OpenSSL сравните openssl req -in app.csr -noout -pubkey с openssl pkey -in app.key -pubout.

Есть ли в CSR закрытый ключ?

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

Что за NEW CERTIFICATE REQUEST в заголовке?

Старая метка, которую используют Java keytool и некоторые инструменты Windows. Внутри та же структура PKCS#10, и декодер читает её как любой другой CSR.