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

Требуется при помощи программы openssl преобразовать *.pfx сертификат в два файла: открытый сертификат и приватный ключ.

Примечание: если установлен GIT то openssl можно использовать и оттуда:

C:\Program Files\Git\usr\bin\openssl.exe

Внимание: при работе с сертификатом *.pfx требуется пароль для работы с ним без.

Пароль для работы с *.pfx сертификатом.

Сначала создает открытый сертификат:

openssl pkcs12 -in ./YOUR-PFX-FILE.pfx -clcerts -nokeys -out domain.crt

Далее генерируем закрытый ключ:

openssl pkcs12 -in ./YOUR-PFX-FILE.pfx -nocerts -nodes -out domain.rsa

Созданные файлы помещаем в архив под названием file.zip.

Далее передаем полученный архив на сервер при помощи утилиты scp:

scp ./file.zip login@server_IP:/var/www/file.zip
# загружаем данные на сервер при помощи scp

Вносим изменения в NGINX:

server {
 listen 443 ssl;
 server_name domain.com domain.com;
 ssl_certificate /path/to/your/CRT_file/domain.crt;
 ssl_certificate_key /path/to/your/RSA_file/domain.rsa;

 root /mnt/coming-soon/bushbeans;
 index index.html;
 include /etc/nginx/mime.types;
}

Оригинал статьи: https://blog.knoldus.com/easiest-way-to-setup-ssl-on-nginx-using-pfx-files/

Примечание: Если нужно установить «Цепочка сертификатов» добавляем дополнительные сертификаты в конец файла. Если этого не сделать будет ошибка:

nginx: [emerg] SSL_CTX_use_PrivateKey_file("key.pem") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch)

Суть ошибки в том, что сертификаты еще должны следовать в определённом порядке:

  • первый — это тот, который дал заказчик
  • второй — это промежуточный
  • третий — это корневой
Print Friendly, PDF & Email

Добавить комментарий