Администрирование
Все про SSL

Платные доверенные сертификаты на Linux

12min

Как создать приватный ключ

Созданный приватный ключ может быть получен в интерфейсе поставщика SSL-сертификатов после отправки CSR или с помощью специализированного ПО, например, OpenSSL.

Ниже приведён фрагмент генерации приватного ключа в веб-интерфейсе поставщика SSL-сертификатов.

Document image


Если создание приватного ключа было выполнено в веб-интерфейсе, то экспорт осуществляется по кнопке там же. После нажатия на кнопку браузер инициирует загрузку архива с файлом ключа в нужном формате.

Чтобы создать приватный ключ RSA с помощью OpenSSL, достаточно одной команды:

Shell


Это команда генерирует закрытый ключ PEM и сохраняет его в файле rsaprivkey.pem. В нашем примере создается ключ размером 2048 бит, который подойдёт почти для всех ситуаций.

Для создания ключа DSA необходимо выполнить два шага:

Shell


На первом шаге создаётся файл параметров DSA (dsaparam.pem), который в данном случае содержит инструкции для OpenSSL по созданию на шаге 2 ключа размером 2048 бит. Файл dsaparam.pem не является ключом, поэтому его можно удалить после создания открытого и закрытого ключей. На втором шаге генерируется закрытый ключ (файл dsaprivkey.pem), который необходимо хранить в секрете.

Для создания файла в формате PKCS#12, используемом в ОС Windows, воспользуйтесь следующей командой:

Shell


Где:

  • pkcs12 – формат приватного ключа;
  • export – операция экспорта приватного ключа в требуемый формат;
  • out – каталог в файловой системе, куда должен быть размещён результирующий файл;
  • inkey – файл приватного ключа в формате PEM;
  • in – файл сертификата, полученный от Удостоверяющего центра;
  • certfile – копия корневого сертификата и промежуточных сертификатов в цепочке. На примере выше они отсутствуют.

Как сгенерировать CSR запрос

Чтобы сгенерировать CSR, в веб-форме поставщика услуги SSL-сертификата заполните предлагаемые поля. На рисунке выше указан пример заполнения. Набор минимально необходимых полей одинаковый и приведён в разделе про описание CSR, но некоторые поставщики могут добавлять свои либо изменять способ ввода.

Для генерации CSR средствами OpenSSL воспользуйтесь следующей командой:

Shell


Где:

  • new – создание нового CSR-запроса посредством прямого ввода в консоли. Без данной опции будут использоваться данные конфигурационного файла OpenSSL;
  • key – наименование приватного ключа, требуемого для генерации. Если опция не указана, будет создан новый приватный ключ в соответствии с алгоритмом по умолчанию;
  • out – путь к создаваемому CSR-файлу;
  • sha256 – алгоритм шифрования.

В результате выполнения команды в консоли появится запрос на заполнение обязательных полей:

Document image


Затем отправьте полученный CSR Удостоверяющему центру. В ответ он должен вернуть персональный сертификат.

Как настроить SSL для Apache

Для настройки 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 и добавьте внутри следующие строки:

Shell

Document image


4.Проверьте конфигурацию Apache до перезапуска командой: apachectl configtest, после чего перезапустите Apache.

Как настроить SSL для Nginx

Для настройки SSL в Nginx выполните следующие действия:

1.Откройте текстовый редактор и добавьте туда содержание персонального сертификата, выданного Удостоверяющим центром и корневого сертификата вместе с остальными сертификатами цепочки. Полученный файл должен иметь вид:

Shell


2.Сохраните полученный файл с расширением *.crt в каталог /etc/ssl/. Обратите внимание: один сертификат идёт следом за другим, без пустых строк.

3.Сохраните файл your_domain.key с приватным ключом сертификата в каталог /etc/ssl.

4.Откройте конфигурационный файл Nginx и отредактируйте виртуальный хост вашего сайта, который вы хотите защитить сертификатом. Выполните минимальную для работы настройку, добавив в файл следующие строки:

Shell

Shell

  • your_domain.com — доменное имя сайта;
  • /etc/ssl/your_domain.crt — путь до созданного файла с тремя сертификатами;
  • /etc/ssl/your_domain.key — путь до файла с приватным ключом.

Название файлов и каталогов могут быть произвольными.

Дополнительно можно настроить работу сайта по HTTP, тип кэша сервера, таймаут обновления кэша, а также время работы одного keepalive-соединения. Также можно настроить поддерживаемые протоколы и их приоритет (серверный набор или клиентский) и OCSP-ответы для валидации сертификата. Детали приведены в руководстве пользователя Nginx.

5.Чтобы изменения вступили в силу, перезапустите сервер Nginx:

Shell