Создаем закрытый ключ
— переходим в каталог /etc/ssl/private/
— создаем ключ:
openssl genrsa -des3 -out private.key 2048
— убираем пароль
cp private.key private.key.tmp openssl rsa -in private.key.tmp -out private.key rm private.key.tmp
Генерируем CSR-ключ
— переходим в каталог /etc/ssl/private/
— создаем ключ:
openssl req -new -key private.key -out domain-name.csr
при создании вводим необходимые параметры
— копируем полученный файл в /etc/ssl/<DOMAIN>/
где <DOMAIN> — адрес домена (либо его похожее название)
Создаем сертификат
— Заходим на https://startssl.com/.
— Авторизовываемся. Очень удобно использовать личный сертификат: импортируем в браузер, перезапускаем браузер, заходим на сайт, нажимаем логин, используем аутентификацию, открывается окно выбора сертификата — выбираем загруженный, соглашаемся. После этого должна произойти авторизация без пароля.
— Переходим в панель управления
— Вкладка Validation Wizard
— выбираем domain validation
— вводим адрес нужного домена
— continue
— выбираем почтовый адрес для подтверждения: webmaster@domain.ru
— кликаем на отправку кода
— заходим в ящик webmaster@domain.ru
— копируем из почтового письма код подтверждения на сайт
— нажимаем на кнопку проверки
— далее переходим в раздел order ssl sertificate
— вводим нужный домен
— в поле CSR вводим полученный текст ключа (вместе с ограничительными строчками — как есть, т.е. выделяем полностью все содержимое, копируем и вставляем)
— после вставки должно появиться справа: Algorithm :RSA, Key length :2048
— нажимаем submit (галочки не ставим)
— откроется страница с подтверждением созданного сертификата, нажимаем на нем на ссылку here и скачиваем архив с сертификатами для разных веб-серверов
Прописываем сертификат на веб-сервере (Apache)
— распаковываем полученный архив с сертификатом, выбираем наш веб-сервер (apache), загружаем 2 файла на сервер
— кладем в ту же папку, куда клали CSR (для удобства и феншуя)
— ставим права на файлы только для root:root
— переименовываем файл 2_ХХХХХХХХХ.crt в XXXXXXXXX.crt
— открываем конфиг нужного виртуального веб-сервера (https-сайта)
— добавляем:
SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL SSLCertificateFile /etc/ssl/DOMAIN/DOMAIN.ru.crt SSLCertificateKeyFile /etc/ssl/private/private.key SSLCertificateChainFile /etc/ssl/DOMAIN/1_root_bundle.crt
— сохраняем, перезагружаем апач
Прописываем сертификат на веб-сервере (Nginx)
— распаковываем полученный архив с сертификатом, выбираем наш веб-сервер (nginx)
-меняем права
chmod 600 /etc/ssl/private/private.key
— переименовываем файл 1_ХХХХХХХХХ.crt в XXXXXXXXX.crt
— кладем в ту же папку, куда клали CSR (для удобства и феншуя)
— добавляем конфиг ssl в настройку /sites-enabled/domain_name
ssl on; ssl_certificate /etc/ssl/private/domain.ru_bundle.crt; ssl_certificate_key /etc/ssl/private/private.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL;
-перезагружаем nginx