Problemas na instalação do certificado SSL no nginx com chave intermediária

11

Estou tentando instalar um certificado SSL no meu servidor Ubuntu. Adquiri o certificado da minha CA e baixei o próprio certificado e um certificado intermediário. Assim:

meu certificado: mydomain.crt
certificado intermediário: GandiStandardSSLCA.pem

Eu também tenho (feito usando openssl)

minha chave privada (?): mydomain.key
e solicitação de assinatura: mydomain.csr

Fiz upload de todos esses arquivos no meu servidor e segui um guia para combinar meu certificado com o intermediário:

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

Em seguida, adiciono o seguinte à configuração do meu vhost:

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

Mas quando vou reiniciar o nginx, recebo este erro:

* Reiniciando o nginx
* Parando o nginx nginx [OK]
nginx: [emerg] SSL_CTX_use_PrivateKey_file ("/ etc / nginx / ssl / mydomain.key") falhou (SSL: erro: 0B080074: rotinas de certificado x509: X509_check_private_key: key valuesxmatmat) arquivo de configuração /etc/nginx/nginx.conf falhou

Alguma idéia de por que e como resolver?

harryg
fonte
o que "o openssl verifica o pacote-ca não confiável mydomain-bundle.crt" diz?
Danila Ladner
o que é ca-bundle?
harryg

Respostas:

17

Sua lista de chaves está bem:

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

O módulo da chave e o certificado correspondem:

openssl x509  -in mydomain.crt -modulus 

openssl rsa  -in qa.server.key  -modulus

Esses números devem corresponder.

davey
fonte
sim, a lista de chaves está ok e os módulos correspondem. Eu só poderia listar como raiz embora. Poderia ser um problema de propriedade?
harryg
assumindo que qa.server.keyé a minha chave privada
harryg
Observe que a ordem de concatenação dos certificados (certificado SLL e Intermediário) é crucial. A resposta da @ Davey me ajudou a descobrir que eu tinha um CRT agregado errado.
Jeromes
Excelente. Eu estava usando o arquivo errado para ssl_certificate. Os comandos modulas me ajudaram a descobrir que esse era o problema. Gênio!
Ralph
Se eles não combinarem? então o que ...
Zach Smith