Что такое самоподписанный сертификат?

Самоподписанный сертификат - это цифровой сертификат, подписанный его собственным создателем, а не доверенным центром сертификации (CA). В отличие от сертификатов, выпущенных такими CA, как Let's Encrypt, DigiCert или Comodo, самоподписанные сертификаты не являются автоматически доверенными в браузерах и операционных системах.

Цифровые сертификаты используют криптографию с открытым ключом для установления безопасных, зашифрованных соединений между клиентами и серверами. Они содержат информацию о владельце сертификата (субъекте), издателе, периоде действия и открытом ключе. Когда сервер предъявляет сертификат, клиент проверяет его относительно доверенных корневых сертификатов, чтобы обеспечить безопасность и подлинность соединения.

Как работает генерация сертификатов?

Процесс генерации сертификатов включает несколько криптографических шагов:

  1. Генерация пары ключей: Генерируется пара ключей RSA (открытый и закрытый ключи). Закрытый ключ должен храниться в секрете, а открытый ключ встраивается в сертификат.

  2. Создание сертификата: Создается структура сертификата, содержащая информацию о субъекте (Общее имя, Организация, Страна и т.д.), даты действия и открытый ключ.

  3. Самоподпись: Сертификат цифровым образом подписывается с использованием закрытого ключа и алгоритма хеширования (SHA-256, SHA-384 или SHA-512). Эта подпись позволяет любому, у кого есть открытый ключ, проверить целостность сертификата.

  4. Кодирование PEM: Сертификат и закрытый ключ кодируются в формате PEM (Privacy-Enhanced Mail), широко поддерживаемом серверами и приложениями и использующем Base64-кодирование.

Описание инструмента

Этот инструмент генерирует самоподписанные сертификаты X.509 и соответствующие закрытые ключи непосредственно в вашем браузере. Никакие данные не передаются на сервер — все криптографические операции выполняются локально с использованием библиотеки node-forge. Вы можете настроить поля субъекта сертификата, размер ключа, период действия и алгоритм подписи в соответствии с вашими конкретными требованиями.

[Остальной текст переведен аналогичным образом с сохранением технических терминов и структуры документа]