Сертификат SSL требуется для протокола HTTPS (шифрованный доступ через браузер). Его можно получить у официальной компании типа VeriSign, но за это придется ежегодно платить некоторую сумму денег. Обойти это можно создав самоподписанный сертификат. Браузер, конечно, предупредит о том, что сертификат не заслуживает доверия, но Вы можете просто добавить его в исключения и больше браузер не будет ругаться.

Создаем каталог для работы:

mkdir /var/tmp/openssl

cd /var/tmp/openssl

Входим в него через проводник или в терминале, используя любой редактор, создаем файл openssl.cnf со следующим содержанием (подредактировав его под себя):

openssl.cnf:

[req]

default_bits = 4096 # Длинна ключа в битах.

default_keyfile = pupkin.ru.key # Имя файла, в который будет записан закрытый ключ.

encrypt_key = no # Нам не нужно шифровать закрытый ключ паролем.

default_md = sha512 # Алгоритм хеша.

x509_extensions = v3_req # Включаем расширение V3.

prompt = no # Не нужно запрашивать данные у пользователя, мы всё пропишем здесь.

distinguished_name = req_distinguished_name # Имя секции с данными (может быть любым).

[req_distinguished_name]

C = RU # Country — Двухбуквенный код страны.

L = Urupinsk # Locality — Город.

CN = pupkin.ru # Common Name — Имя домена.

emailAddress = vasya@pupkin.ru # Адрес электронной почты.

# Можно ещё указать следующие поля:

# ST (State — штат, название провинции и т.п.)

# O (Organization — название организации)

# OU (Organizational Unit — название подразделения)

[v3_req]

# Список альтернативных имён. Можно указать прямо здесь, но это не

# удобно, особенно если их много, так что мы указываем название секции

# с именами.

subjectAltName = @alt_names

[alt_names]

# Имена. Можно указать хоть сколько, главное чтобы цифры после точки были разными.

DNS.0 = other.pupkin.ru

DNS.1 = *.other.pupkin.ru

DNS.2 = pupkin.localnet

Затем возвращаемся в окно терминала и создаем сертификат:

openssl req -new -x509 -days 3650 -config openssl.cnf -out pupkin.ru.crt

 

Опции означают следующее:

req – команда создание запроса на сертификат

-new – создать новый запрос

-x509 – создать готовый самоподписанный сертификат, а не только запрос

-days 3650 – срок действия сертификата, в данном случае 10 лет

-config openssl.cnf – наш файл с настройками

-out pupkin.ru.crt – в этот файл будет записан созданный сертификат, без этой опции сертификат будет выведен на стандартный вывод

После выполнения команды в текущей директории будут два новых файла – pupkin.ru.key (закрытый ключ) и pupkin.ru.crt (сертификат). Можно просмотреть сертификат и удостовериться, что все данные корректны:

openssl x509 -in server.crt -noout -text | more

Комментарии

comments powered by Disqus