Наверное многих уже достали неудовства с самоподписанными сертификатами, а ведь есть возможность легально и бесплатно получить подписанный валидный сертификат. Об этом я и постараюсь рассказать ниже.
Теория
Для того, чтобы иметь “правильный” сертификат нужно:
1. Сгенерировать приватный ключ (крайне рекоммендую без пароля)
2. Создать запрос на подпись
3. Получить подписанный сертификат
4. Настроить сервер для работы с https протоколом с помощью ключа (п.1) и подписанного сертификата
итак приступим:
Создание приватного ключа
openssl genrsa -out A B |
где:
A – имя файла ключа, например ssl.key
B – количество бит RSA (1024 считают учтаревшим и используют 2048 или 4096)
A – имя файла ключа, например ssl.key
B – количество бит RSA (
итак получим пример команды для создания файла ключа
openssl genrsa -out ssl.key 4096 |
Создадим запрос на подпись
Запрос на подпись – это тоже файл, который нужно создать на основе имеющегося (ранее созданного) приватного ключа.
openssl req -new -key A -out C |
где:
A – имя файла ключа, например ssl.key
C – имя файла запроса на подпись, например ssl.csr
A – имя файла ключа, например ssl.key
C – имя файла запроса на подпись, например ssl.csr
итак получим пример команды для создания файла запроса на подпись
openssl req -new -key ssl.key -out ssl.csr |
Вам будут заданы некоторые вопросы, на которые нужно ответить:
Country Name (2 letter code) [GB]: < — ISO код страны, например для России RU
State or Province Name (full name) [Berkshire]: < — Полное название территориальной административной единицы (Края, Области, Штата)
Locality Name (eg, city) [Newbury]: < — Полное название города / села / пгт (ну вы поняли)
Organization Name (eg, company) [My Company Ltd]: < — Полное название города / села / пгт (ну вы поняли)
Organizational Unit Name (eg, section) []: < — Полное название подразделения
Common Name (eg, your name or your server’s hostname) []: < — Общее имя. Тут и пишем домен, например itarticles.org
Email Address []: < — Контактное мыло
State or Province Name (full name) [Berkshire]: < — Полное название территориальной административной единицы (Края, Области, Штата)
Locality Name (eg, city) [Newbury]: < — Полное название города / села / пгт (ну вы поняли)
Organization Name (eg, company) [My Company Ltd]: < — Полное название города / села / пгт (ну вы поняли)
Organizational Unit Name (eg, section) []: < — Полное название подразделения
Common Name (eg, your name or your server’s hostname) []: < — Общее имя. Тут и пишем домен, например itarticles.org
Email Address []: < — Контактное мыло
Please enter the following ‘extra’ attributes
to be sent with your certificate request
to be sent with your certificate request
Следующие поля можно оставить пустыми
A challenge password []:
An optional company name []:
An optional company name []:
Получаем подписанный сертификат
Для получения подписанного сертификата нужно отправить файл запроса на подпись с соответствующую инстанцию, например startssl.com по правилам выбранной организации
Настройки сервера для работы с https протоколом
Тут достаточно много различий и правила настройки сервера нужно смотреть в файлах документации самого сервера.
Источник http://itarticles.org/