Problèmes d'installation du certificat SSL sur nginx avec une clé intermédiaire

11

J'essaie d'installer un certificat SSL sur mon serveur Ubuntu. J'ai acheté le certificat auprès de mon autorité de certification et j'ai téléchargé le certificat lui-même et un certificat intermédiaire. Ainsi:

mon certificat: mydomain.crt
certificat intermédiaire: GandiStandardSSLCA.pem

J'ai aussi (fait en utilisant openssl)

ma clé privée (?): mydomain.key
et demande de signature: mydomain.csr

J'ai téléchargé tous ces fichiers sur mon serveur et j'ai suivi un guide pour combiner mon certificat avec l'intermédiaire:

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

J'ajoute ensuite ce qui suit à la configuration de mon vhost:

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

Mais quand je vais redémarrer nginx, j'obtiens cette erreur:

* Redémarrage de nginx
* Arrêt de nginx nginx [OK]
nginx: [Emerg] SSL_CTX_use_PrivateKey_file ("/ etc / nginx / ssl / mydomain.key") a échoué (SSL: erreur: 0B080074: routines de certificats x509: X509_check_private_key: valeurs de clé incorrectes) échec du test du fichier de configuration /etc/nginx/nginx.conf

Des idées pourquoi et comment résoudre?

Harry
la source
que dit "openssl verify -untrusted ca-bundle mydomain-bundle.crt"?
Danila Ladner
c'est quoi ca-bundle?
harryg

Réponses:

17

Votre liste de clés est-elle correcte:

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

Faites le module de la clé et le cert match:

openssl x509  -in mydomain.crt -modulus 

openssl rsa  -in qa.server.key  -modulus

Ces chiffres doivent correspondre.

Davey
la source
oui, les listes de clés sont correctes et les modules correspondent. Je ne pouvais que m'inscrire en tant que root. Serait-ce un problème de propriété
Harry
en supposant que qa.server.keyc'est ma clé privée
harryg
Notez que l'ordre de concaténation des certificats (cert SLL et intermédiaire) est crucial. La réponse @davey m'a aidé à comprendre que j'avais un crt agrégé incorrect.
jeromes
Excellent. J'utilisais le mauvais fichier pour ssl_certificate. Les commandes modulas m'ont aidé à comprendre que c'était le problème. Génie!
Ralph
S'ils ne correspondent pas? alors quoi ...
Zach Smith