Платные доверенные сертификаты на Linux
Созданный приватный ключ может быть получен в интерфейсе поставщика SSL-сертификатов после отправки CSR или с помощью специализированного ПО, например, OpenSSL.
Ниже приведён фрагмент генерации приватного ключа в веб-интерфейсе поставщика SSL-сертификатов.
Если создание приватного ключа было выполнено в веб-интерфейсе, то экспорт осуществляется по кнопке там же. После нажатия на кнопку браузер инициирует загрузку архива с файлом ключа в нужном формате.
Чтобы создать приватный ключ RSA с помощью OpenSSL, достаточно одной команды:
Это команда генерирует закрытый ключ PEM и сохраняет его в файле rsaprivkey.pem. В нашем примере создается ключ размером 2048 бит, который подойдёт почти для всех ситуаций.
Для создания ключа DSA необходимо выполнить два шага:
На первом шаге создаётся файл параметров DSA (dsaparam.pem), который в данном случае содержит инструкции для OpenSSL по созданию на шаге 2 ключа размером 2048 бит. Файл dsaparam.pem не является ключом, поэтому его можно удалить после создания открытого и закрытого ключей. На втором шаге генерируется закрытый ключ (файл dsaprivkey.pem), который необходимо хранить в секрете.
Для создания файла в формате PKCS#12, используемом в ОС Windows, воспользуйтесь следующей командой:
Где:
- pkcs12 – формат приватного ключа;
- export – операция экспорта приватного ключа в требуемый формат;
- out – каталог в файловой системе, куда должен быть размещён результирующий файл;
- inkey – файл приватного ключа в формате PEM;
- in – файл сертификата, полученный от Удостоверяющего центра;
- certfile – копия корневого сертификата и промежуточных сертификатов в цепочке. На примере выше они отсутствуют.
Чтобы сгенерировать CSR, в веб-форме поставщика услуги SSL-сертификата заполните предлагаемые поля. На рисунке выше указан пример заполнения. Набор минимально необходимых полей одинаковый и приведён в разделе про описание CSR, но некоторые поставщики могут добавлять свои либо изменять способ ввода.
Для генерации CSR средствами OpenSSL воспользуйтесь следующей командой:
Где:
- new – создание нового CSR-запроса посредством прямого ввода в консоли. Без данной опции будут использоваться данные конфигурационного файла OpenSSL;
- key – наименование приватного ключа, требуемого для генерации. Если опция не указана, будет создан новый приватный ключ в соответствии с алгоритмом по умолчанию;
- out – путь к создаваемому CSR-файлу;
- sha256 – алгоритм шифрования.
В результате выполнения команды в консоли появится запрос на заполнение обязательных полей:
Затем отправьте полученный CSR Удостоверяющему центру. В ответ он должен вернуть персональный сертификат.
Для настройки SSL в Apache выполните следующие действия:
1.Добавьте в каталог /etc/ssl/ персональный сертификат, выданный Удостоверяющим центром, приватный ключ и корневой сертификат вместе с остальными сертификатами цепочки
2.Откройте файл конфигурации Apache любым текстовым редактором, например, vim. В зависимости от ОС сервера файл может находиться по одному из следующих расположений:
- для CentOS: /etc/httpd/conf/httpd.conf;
- для Debian/Ubuntu: /etc/apache2/apache2.conf;
3.Если вы устанавливаете SSL-сертификат на OpenServer, используйте путь к его корневой папке. В конце файла создайте копию блока «VirtualHost». Укажите для блока порт 443 и добавьте внутри следующие строки:
4.Проверьте конфигурацию Apache до перезапуска командой: apachectl configtest, после чего перезапустите Apache.
Для настройки SSL в Nginx выполните следующие действия:
1.Откройте текстовый редактор и добавьте туда содержание персонального сертификата, выданного Удостоверяющим центром и корневого сертификата вместе с остальными сертификатами цепочки. Полученный файл должен иметь вид:
2.Сохраните полученный файл с расширением *.crt в каталог /etc/ssl/. Обратите внимание: один сертификат идёт следом за другим, без пустых строк.
3.Сохраните файл your_domain.key с приватным ключом сертификата в каталог /etc/ssl.
4.Откройте конфигурационный файл Nginx и отредактируйте виртуальный хост вашего сайта, который вы хотите защитить сертификатом. Выполните минимальную для работы настройку, добавив в файл следующие строки:
- your_domain.com — доменное имя сайта;
- /etc/ssl/your_domain.crt — путь до созданного файла с тремя сертификатами;
- /etc/ssl/your_domain.key — путь до файла с приватным ключом.
Название файлов и каталогов могут быть произвольными.
Дополнительно можно настроить работу сайта по HTTP, тип кэша сервера, таймаут обновления кэша, а также время работы одного keepalive-соединения. Также можно настроить поддерживаемые протоколы и их приоритет (серверный набор или клиентский) и OCSP-ответы для валидации сертификата. Детали приведены в руководстве пользователя Nginx.
5.Чтобы изменения вступили в силу, перезапустите сервер Nginx: