Problemy z instalacją certyfikatu SSL na nginx z kluczem pośrednim

11

Próbuję zainstalować certyfikat SSL na moim serwerze Ubuntu. Kupiłem certyfikat od mojego CA i pobrałem sam certyfikat i certyfikat pośredni. Tak więc:

mój certyfikat: mydomain.crt
certyfikat pośredni: GandiStandardSSLCA.pem

Mam też (wykonane przy użyciu openssl)

mój klucz prywatny (?): mydomain.key
i prośba o podpisanie: mydomain.csr

Przesłałem wszystkie te pliki na mój serwer i postępowałem zgodnie z instrukcjami, aby połączyć mój certyfikat z produktem pośrednim:

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

Następnie dodaję do konfiguracji mojego vhosta:

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

Ale kiedy idę, aby zrestartować nginx, pojawia się ten błąd:

* Ponowne uruchamianie nginx
* Zatrzymywanie nginx nginx [OK]
nginx: [emerg] SSL_CTX_use_PrivateKey_file ("/ etc / nginx / ssl / mydomain.key") nie powiodło się (SSL: błąd: 0B080074: x509 procedury certyfikatu: X509_check_private_key: niedopasowanie wartości klucza x) plik konfiguracyjny /etc/nginx/nginx.conf nie powiódł się

Wszelkie pomysły, dlaczego i jak rozwiązać?

harryg
źródło
co powiedzą: „openssl zweryfikuj-zaufany pakiet ca mydomain-bundle.crt”?
Danila Ladner
co jest ca-bundle?
harryg

Odpowiedzi:

17

Czy twoja lista kluczy jest w porządku:

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

Czy moduł klucza i certyfikatu są zgodne:

openssl x509  -in mydomain.crt -modulus 

openssl rsa  -in qa.server.key  -modulus

Te liczby muszą się zgadzać.

davey
źródło
tak, lista kluczy jest zgodna, a moduły pasują. Mogłem tylko wpisać jako root. Może to być kwestia własności
harryg
zakładając, że qa.server.keyto mój prywatny klucz
harryg
Należy pamiętać, że kolejność konkatenacji certyfikatów (SLL cert i Intermediate) ma kluczowe znaczenie. Odpowiedź @davey pomogła mi zorientować się, że miałem niewłaściwie zagregowany crt.
jeromes
Doskonały. Użyłem niewłaściwego pliku do certyfikatu ssl. Komendy modułów pomogły mi zrozumieć, o co chodzi. Geniusz!
Ralph,
Jeśli nie pasują? to co ...
Zach Smith,