Страница 1 из 1

Поддержит ли файл ключа с расишрением .pem для nginx

Добавлено: 15 ноя 2017, 17:25
vegarus
Здравствуйте, товарищи! Поддержит ли файл с расширением *.pem для nginx (конфигурации ssl_certificate и ssl_certificate_key). И обязательно ли водить вместо дефолт домена свой домен. Такая ситуация, что я смог вытащить файл из своего сервера и от Let'sEncrypt и закинул в Windows OSPanel.
Пробовал ставить в файле Apache-2.4-x64+Nginx-1.10_vhostn.conf и Apache-2.4-x64+Nginx-1.10_servern.conf
listen         %ip%:%httpport%; 
    listen         %ip%:%httpsport% ssl;
    server_name    example.com www.example.com
ssl_certificate           "%sprogdir%/userdata/config/cert_files/sslkeys/fullchain.pem";
ssl_certificate_key       "%sprogdir%/userdata/config/cert_files/sslkeys/privkey.pem";
Вместо моего домена примера example.com
При таком конфигурации, OSPanel не запускается 100% из-за сертификата, вернул в исходное состояние, работает как надо! Пожалуйста скажите нам, что делать и как правильно делать?

Re: Поддержит ли файл ключа с расишрением .pem для nginx

Добавлено: 15 ноя 2017, 18:21
Ink0gnit0
Попробуйте сначала сконвертировать их в формат DER, создав, например, файл conv.cmd в каталоге с вашими сертификатом и ключом, следующего содержания:
@echo off
setlocal
set OPENSSL_CONF=[путь_к_конфигу_openssl_например_C:\openserver\modules\http\Apache-2.4\conf\openssl.cnf]
set PATH=[путь_к_openssl_например_C:\openserver\modules\http\Apache-2.4\bin]

openssl x509 -outform der -in fullchain.pem -out fullchain.crt
openssl rsa -outform der -in privkey.pem -out privkey.key
pause
В конфиге nginx подправьте пути к сконветированным сертификату и ключу:
ssl_certificate           "%sprogdir%/userdata/config/cert_files/sslkeys/fullchain.crt";
ssl_certificate_key       "%sprogdir%/userdata/config/cert_files/sslkeys/privkey.key";

Поддержит ли файл ключа с расишрением .pem для nginx

Добавлено: 16 ноя 2017, 15:33
vegarus
Как вы сказали и вот создал conv.cmd, запускаю и в командной строке пишет с ошибкой
unable to load certificate
3780:error:0906D06C:PEM routines:PEM_read_bio:no start line:crypto\pem\pem_lib.c
:691:Expecting: TRUSTED CERTIFICATE
unable to load Private Key
2512:error:0906D06C:PEM routines:PEM_read_vio:no start line:crypto\pem\pem_lib.c
:691:Expecting: ANY PRIVATE KEY
Файл создан и только один fullchain.crt, а privkey.key нету.

Re: Поддержит ли файл ключа с расишрением .pem для nginx

Добавлено: 16 ноя 2017, 22:35
Ink0gnit0
@echo off
setlocal
set OPENSSL_CONF=[путь_к_конфигу_openssl_например_C:\openserver\modules\http\Apache-2.4\conf\openssl.cnf]
set PATH=[путь_к_openssl_например_C:\openserver\modules\http\Apache-2.4\bin]

openssl x509 -inform der -in fullchain.pem -out fullchain.crt
openssl rsa -inform der -in privkey.pem -out privkey.key
pause

Re: Поддержит ли файл ключа с расишрением .pem для nginx

Добавлено: 16 ноя 2017, 23:23
vegarus
Вопрос исчерпан, проблема решена. Работает без проблем и запустился OSPanel.

Re: Поддержит ли файл ключа с расишрением .pem для nginx

Добавлено: 05 май 2018, 21:28
vegarus
Снова возникла проблема после переноса на новый сервер и скоро истекает сертификат. Установил на всякий случай дополнительный OpenSSl.

Запускаю команду как обычно conv.cmd.
@echo off
setlocal
set OPENSSL_CONF=C:\openserver\modules\http\Apache-2.4\conf\openssl.cnf]
set PATH=[C:\openserver\modules\http\Apache-2.4\bin]

openssl x509 -inform der -in fullchain.pem -out fullchain.crt
openssl rsa -inform der -in privkey.pem -out privkey.key
pause
Стало что известно пишет ошибку
"openssl" не является внутренней или внешней 
командой, исполняемой программой или внешним пакетным файлов
Прогуглил, таких точно ответов нет. Как исправить?

Re: Поддержит ли файл ключа с расишрением .pem для nginx

Добавлено: 05 май 2018, 21:58
Ink0gnit0
vegarus,
Проверьте, правильно ли указаны путь к openssl и его конфигу:
set OPENSSL_CONF=C:\openserver\modules\http\Apache-2.4\conf\openssl.cnf
set PATH=%PATH%;C:\openserver\modules\http\Apache-2.4\bin