Найти в Дзене

Как создать самоподписанный SSL сертификат

Оглавление

Что такое SSL сертификат

Если коротко, то SSL-сертификат - это небольшой файл, содержащий цифровую подпись издателя и открытый ключ. Имеет срок действия.
Без SSL-сертификата невозможна работа с интернет-ресурсами по SSL протоколу, обеспечивающему шифрование (в т.ч. HTTPS) и защиту интернет-соединений.
Используемые на web-сайтах SSL сертификаты выпускаются надёжными доверенными центрами сертификации.
Подробно можно почитать здесь:
https://ru.wikipedia.org/wiki/SSL.

Зачем нужен свой SSL сертификат

Самоизданные SSL сертификаты, как правило, используют для целей тестирования или внутри локальной сети предприятия.

Как сгенерировать самоподписанный SSL сертификат

Для генерации SSL сертификата нужна программа OpenSSL.
Если она у Вас не установлена - смотрите статью
как установить OpenSSL (там в конце статьи есть ссылка на моё готовое рабочее решение, основанное на установке OpenSSL из официального дистрибутива).

Итак, запускаем командную строку.
Командой cd меняем путь по-умолчанию на путь к OpenSSL.
Это либо директория наподобие C:\Program Files\OpenSSL-Win64\bin, либо директория, в которую Вы распаковали моё рабочее решение по OpenSSL из статьи
как установить OpenSSL, либо ещё какая-то директория, в которой у Вас может уже была установлена программа OpenSSL.

Далее все примеры показаны в предположении, что OpenSSL стоит по пути C:\Program Files\OpenSSL-Win64\bin:
делаем cd "C:\Program Files\OpenSSL-Win64\bin", нажимаем Enter (подразумевается, что ввод любой команды завершается нажатием Enter).

Создаём какую-нибудь директорию, в которую будет сгенерирован сертификат:
например, mkdir C:\TEMP\sert.

-2

Набираем и выполняем команду для генерации сертификата:
openssl req -new -x509 -extensions v3_ca -keyout C:\TEMP\sert\cakey.pem -out C:\TEMP\sert\cacert.crt -days 36500
Ключ "days" задаёт срок действия сертификата в днях.

-3

Вам будет предложено ввести пароль для самоподписанного корневого сертификата (Enter PEM pass phrase).
Придумайте и введите пароль (латинскими / английскими буквами!) и обязательно запомните его (или куда-нибудь запишите).
Допустимая длина пароля - от 4 до 511 символов.

-4

Далее Вам будет предложено заполнить ряд необязательных полей. Можете заполнять, а можете оставить пустыми - на работу сертификата, по идее, это не повлияет.
В примере ниже введено следующее:
Country Name: RU
State or Province: Moscow Region
Locality Name: Balashikha
Organization Name: AntiShit
Organization Unit Name: Clean Internet
Common Name: White Knight
Email Address:

-5

Командой dir C:\TEMP\sert (или в какую там Вы директорию генерировали сертификат) убеждаемся, что создалось два файла: cakey.pem и cacert.crt.
Таким образом, задача по созданию самоподписанного SSL сертификата решена. :-)

-6

Готовый самоподписанный SSL сертификат

Если Вам лень заморачиваться со всеми этими OpenSSL и командными строками - можете СКАЧАТЬ готовый самоподписанный SSL сертификат сроком действия 1000 лет (пароль от сертификата: swordfish20231223 ).