WMW

Просмотр CSR

Free

Декодируйте Certificate Signing Request (PKCS#10) в кодировке PEM: Subject, открытый ключ, алгоритм подписи и Subject Alternative Names, затем проверьте, действительно ли его собственная подпись верна.

Работает полностью в вашем браузере. Ваш CSR никуда не загружается, даже для проверки подписи.

Недавняя активность

Видно всем. Последние 20 использований от всех посетителей, сначала новые.

Parsed a CSR and checked its self-signature.

2 часа назад

Parsed a CSR and checked its self-signature.

2 часа назад

Parsed a CSR and checked its self-signature.

2 часа назад

Parsed a CSR and checked its self-signature.

2 часа назад

Parsed a CSR and checked its self-signature.

2 часа назад

Комментарии (0)

Понравился инструмент? Оставьте комментарий, поделитесь советом или расскажите, как нам его улучшить.

Комментарии гостей проверяются перед публикацией. Войти чтобы опубликовать мгновенно.

Пока нет комментариев. Будьте первым, кто поделится мнением!

Что делает этот инструмент

CSR Viewer декодирует Certificate Signing Request (PKCS#10) в кодировке PEM и показывает поля Subject, сведения об открытом ключе, алгоритм подписи и Subject Alternative Names в виде обычного текста, а затем проверяет, действительно ли собственная подпись CSR верна для содержащегося в нём открытого ключа.

Как это работает

CSR -- это структура ASN.1 в кодировке DER, упакованная в base64 PEM. Этот инструмент декодирует структуру байт за байтом: он читает каждый вложенный элемент TLV (тег-длина-значение), чтобы дойти до отличительного имени Subject, блока SubjectPublicKeyInfo (модуль и экспонента RSA или кривая и точка EC), необязательного атрибута extensionRequest с Subject Alternative Names, а также внешнего алгоритма подписи и байтов подписи -- всё на стороне клиента, без какой-либо серверной библиотеки ASN.1.

Чтобы проверить собственную подпись, инструмент повторно импортирует открытый ключ CSR с помощью Web Crypto API браузера и просит проверить подпись по точным байтам блока CertificationRequestInfo (всё, что подпись фактически охватывает). Для подписей ECDSA значения r/s в кодировке DER сначала преобразуются в формат фиксированной длины, ожидаемый Web Crypto. Совпадение означает, что владелец закрытого ключа действительно создал именно этот CSR; несовпадение означает, что он был изменён или неправильно собран после подписания.

Какие проблемы решает

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

›Видит ли этот инструмент мой закрытый ключ?

Нет. CSR никогда не содержит ваш закрытый ключ -- он содержит только открытый ключ, данные о личности и подпись, сделанную закрытым ключом. Этот инструмент только считывает то, что вы вставили, работает полностью в вашем браузере и никогда не отправляет ничего на сервер, поэтому утечка чего-либо конфиденциального невозможна, даже если вы по ошибке вставите CSR.

›Что на самом деле доказывает проверка "собственная подпись верна"?

Это доказывает, что CSR был подписан тем, кто владеет закрытым ключом, соответствующим открытому ключу внутри него -- иными словами, что CSR не был изменён или повреждён с момента создания. Это НЕ доказывает, что поля Subject (название компании, домен и т. д.) правдивы; проверка личности -- задача удостоверяющего центра при выпуске сертификата, а не то, что может доказать сам CSR.

›Почему некоторые CSR показывают "Не удалось проверить (алгоритм не поддерживается в этом браузере)"?

Браузеры проверяют подписи с помощью Web Crypto API, которая поддерживает лишь определённый набор алгоритмов. Этот инструмент поддерживает распространённые (RSA и ECDSA с SHA-1/256/384/512), но CSR, подписанный необычным или устаревшим алгоритмом за пределами этого набора, не может быть проверен на стороне клиента; остальные его поля всё равно декодируются нормально.

›Почему в моём CSR нет Subject Alternative Names?

SAN в CSR необязательны и появляются только тогда, когда они были явно запрошены при создании CSR (например, через опцию -addext "subjectAltName=..." в openssl или раздел [alt_names] конфигурационного файла). Во многих CSR, особенно старых или созданных вручную, SAN просто никогда не запрашивались.

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

CSR -- это запрос, который вы создаёте и отправляете в удостоверяющий центр (CA); сам он никогда не устанавливается на сервер. Сертификат -- это то, что CA возвращает после проверки вашей личности: он содержит тот же открытый ключ и те же данные Subject, что и CSR, плюс собственную подпись CA, срок действия и серийный номер.

Похожие инструменты