Nginx работает с SSL, но ошибка несоответствия закрытого ключа

Используется для работы

Я купил Rapid SSL от имени .com и использовал следующую команду для создания файлов .csr и .key :

sudo openssl req -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/server.key -out /etc/nginx/ssl/server.csr

Я ответил на все вопросы, которые задавала эта команда. Затем я предоставил .csr name.com и успешно сгенерировал серверные / промежуточные сертификаты. Затем я выполнил шаги, упомянутые в https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&actp=CROSSLINK&id=SO17664 , и установил этот сертификат на свой сервер nginx. Я также смог открыть HTTPS-версию своего сайта.

PrivKey перезаписан по ошибке

Затем, чтобы попробовать что-то еще, я снова запустил команду (sudo openssl req ...) с другими ответами на этот раз и сгенерировал новый server.key файл. К сожалению, я не сохранил первый файл server.key .

После модификации файла nginx .conf, когда я пытался перезапустить сервер, Я получил следующую ошибку:

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

Увидев эту ошибку, я понял, что перезаписал файл server.key . Я попытался сгенерировать ключ еще раз с теми же ответами, которые дал впервые, но все равно возникает ошибка несоответствия ключа.

nginx все еще работает.

Мой сервер nginx все еще работает, и я могу получить доступ к HTTPS-версии сайта, но моя жизнь в беде без закрытого ключа. Я просмотрел приведенные ниже ссылки, но все еще застрял:

  1. https://stackoverflow.com/questions/26191463/ssl-error0b080074x509-certificate-routinesx509-check-private-keykey-values ​​
  2. Значения ключей сертификата ssl nginx mismatch

Модуль PrivKey! = Модуль PubKey

Я подтвердил, выполнив следующие команды, что мой сертификат (выданный name.com) и закрытые ключи не совпадают:

openssl x509 -noout -modulus -in server_orig.cert | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5

Есть надежда?

Могу ли я что-нибудь сделать, чтобы узнать закрытый ключ, поскольку Nginx все еще работает? В противном случае, должен ли я получить повторно выданный сертификат Geotrust?

Мы будем очень признательны за любую помощь.

0
задан 23 May 2017 в 15:41
2 ответа

@AAgg, просто перевыпустите сертификат у своего поставщика сертификатов с новым CSR и ключом.

Я делал это несколько раз без каких-либо проблем.

0
ответ дан 4 December 2019 в 16:35

Поговорите с поставщиком сертификатов

В зависимости от вашего поставщика они могут либо настоять на повторной оплате, либо просто сделать это бесплатно.

Я бы не стал тратить время на поиски сертификата. сертификат в оперативной памяти nginx. Конечно, если https все еще работает, то приватный ключ все еще должен быть там, и извлечение из RAM возможно , но если вы никогда этого не делали раньше, то просто покупка другого сертификата - более быстрый вариант.

1
ответ дан 4 December 2019 в 16:35

Теги

Похожие вопросы