Проблемы с установкой SSL сертификата на nginx с промежуточным ключом

11

Я пытаюсь установить сертификат SSL на моем сервере Ubuntu. Я приобрел сертификат в своем ЦС и загрузил сам сертификат и промежуточный сертификат. Как так:

мой сертификат: mydomain.crt
промежуточный сертификат: GandiStandardSSLCA.pem

У меня тоже есть (сделано с использованием openssl)

мой закрытый ключ (?): mydomain.key
и запрос на подпись: mydomain.csr

Я загрузил все эти файлы на свой сервер и следовал руководству по объединению моего сертификата с промежуточным:

cat mydomain.crt GandiStandardSSLCA.pem > mydomain-bundle.crt

Затем я добавляю следующее в конфигурацию моего vhost:

listen   443 ssl;
ssl_certificate       /etc/nginx/ssl/mydomain-bundle.crt;
ssl_certificate_key   /etc/nginx/ssl/mydomain.key;

Но когда я иду, чтобы перезапустить nginx, я получаю эту ошибку:

* Перезапуск nginx
* Остановка nginx nginx [OK]
nginx: [emerg] SSL_CTX_use_PrivateKey_file ("/ etc / nginx / ssl / mydomain.key") не удалось (SSL: ошибка: 0B080074: подпрограммы сертификата x509: X509_check_private_key: значения ключа: значения ключа: значения: nginx: ключ: значения: ключ: n :аты ключа Файл конфигурации /etc/nginx/nginx.conf не пройден

Есть идеи почему и как решить?

harryg
источник
что говорит "openssl verify -unrusted ca-bundle mydomain-bundle.crt"?
Данила Ладнер
что такое ca-bundle?
Гарри

Ответы:

17

Ваш список ключей в порядке:

openssl rsa -in /etc/nginx/ssl/mydomain.key

У модуля ключа и сертификата совпадают:

openssl x509  -in mydomain.crt -modulus 

openssl rsa  -in qa.server.key  -modulus

Эти цифры должны совпадать.

Davey
источник
да, списки ключей в порядке и по модулю совпадают. Я мог только перечислить в качестве root, хотя. Может ли это быть проблемой собственности
harryg
при условии, что qa.server.keyэто мой личный ключ
harryg
Обратите внимание, что порядок объединения сертификатов (сертификат SLL и промежуточный) имеет решающее значение. Ответ @davey помог мне понять, что у меня неправильная агрегированная ЭЛТ.
Jeromes
Отлично. Я использовал неправильный файл для ssl_certificate. Команды modulas помогли мне понять, в чем проблема. Genius!
Ральф
Если они не совпадают? тогда что ...
Зак Смит