Самозаверенный сертификат

Самозаверенный сертификат

Самозаверенный сертификат — специальный тип сертификата, подписанный самим его субъектом. Технически данный тип ничем не отличается от сертификата, заверенного подписью удостоверяющего центра (УЦ), только вместо передачи на подпись в УЦ пользователь создаёт свою собственную сигнатуру.

Ненадёжность

Поскольку самозаверенный сертификат не заверяется удостоверяющим центром, в соответствии с п. 3.3 RFC 2459, такой сертификат невозможно отозвать.
Теоретически, это позволяет осуществить Man-in-The-Middle-атаку, при которой злоумышленник может перехватить сертификат узла-инициатора шифрованного соединения и вместо него отправить узлу назначения свой поддельный, с помощью которого передаваемые данные можно будет дешифровать
При этом, подобным образом скомпрометированный сертификат нельзя будет отозвать, так как он не заверен УЦ.

Создание

Создадим файл cert.pem, в котором будет и секретный ключ и открытый сертификат, основанный на нём. Сертификат будет действителен в течение Х дней; (ключ с опцией -nodes будет нешифрованным).

openssl req \
    -x509 -nodes -days X \
    -newkey rsa:1024 -keyout cert.pem -out cert.pem

Х нужно заменить на нужное кол-во дней. После вызова команды надо будет ответить на вопросы о владельце и т.д. На вопрос “Common Name” нужно отвечать именем сервера.

Можно автоматизировать ввод ответов с помощью опции -subj:

openssl req \
  -x509 -nodes -days 365 \
  '''-subj '/C=RU/..../CN=адрес сайта' \'''
  -newkey rsa:1024 -keyout cert.pem -out cert.pem

Ссылки

Самоподписанные SSL сертификаты
Руководство по OpenSSL на XGU.ru
Самоподписанные сертификаты и атака Man-in-The-Middle



Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное



Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»