Создание самоподписанного SSL сертификата

Дата: 12.08.2015Метки:

Для публичных сайтов важно использовать SSL сертификаты подтвержденные в специальных центрах сертификации, наиболее известные из них: Comodo, GeoTrust, Rapid SSL, Symantec. Помимо защиты соединения, сертификат выданный удостоверяющим центром дает гарантию, что информация о домене была проверена независимым доверенным источником.

Как и доверительный, самоподписанный сертификат обеспечивает шифрование передаваемых данных между сервером и браузером пользователя. Главный недостаток самоподписанных сертификатов: необходимость подтверждения его в браузере. Для внутреннего использования, если нет необходимости в проверке домена, вполне нормально использовать самоподписанные сертификаты.

Генерируем ключ, в процессе необходимо будет ввести пароль.

openssl genrsa -des3 -out server.key.secure 2048

Расшифруем ключ:

openssl rsa -in server.key.secure -out server.key

Создаем файл сертификата:

openssl req -new -key server.key -out server.csr

В процессе необходимо будет указать информацию о себе.

Перейдем к процессу самоподписания сертификата:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Сертификат готов, для использования необходимо скопировать файлы ключа server.key и сертификата server.crt в необходимую нам директорию.

Установка сертификатов StartSSL

Дата: 05.08.2015Метки:

Данная статья предполагает, что мы уже успешно прошли процедуру регистрации на сайте StartSSL и в нашем распоряжении есть следующие файлы: сертификат ssl.crt с проверкой домена и приватный ключ ssl.key. Копируем эти два файла на сервер. Приватный ключ перед использованием необходимо расшифровать командой:

openssl rsa -in ssl.key -out private.key

На этом этапе необходимо будет ввести пароль, который мы указывали в процессе заказа сертификата на сайте StartSSL.

Для безопасности установим права доступа на private.key:

# Только владелец может читать файл
chmod 400 /etc/nginx/ssl/*

Скачиваем сертификат Class 1 Intermediate Server CA:

wget http://www.startssl.com/certs/sub.class1.server.ca.pem

Объединяем сертификаты в один файл:

cat ssl.crt sub.class1.server.ca.pem > domain.pem

Минимальная конфигурацию NGINX для проверки работы SSL:

server {
    listen       443 ssl;
    server_name  domain.net;

    ssl_certificate      /etc/nginx/ssl/domain_com/domain.pem;
    ssl_certificate_key  /etc/nginx/ssl/domain_com/domain.key;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

После изменения настроек необходимо перезапустить NGINX:

service nginx restart

Для проверки правильности установки сертификатов используем сервис Symantec SSL Toolbox.