Nginx ssl - SSL: erro: 0906D06C: rotinas PEM: PEM_read_bio: nenhuma linha de partida

10

Estou tentando habilitar o ssl em um servidor usando um certificado do 123-reg, mas continuo recebendo este erro:

nginx: [emerg] SSL_CTX_use_certificate_chain_file("/opt/nginx/conf/cleantechlms.crt") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib)

Esta é a minha configuração nginx:

server {
  listen 443;
  server_name a-fake-url.com;
  root /file/path/public;   
  passenger_enabled on;

  ssl on;
  ssl_certificate /opt/nginx/conf/cleantechlms.crt;
  ssl_certificate_key /opt/nginx/conf/cleantechlms.key;
 }

Eu tentei definir meu crt e chave para permissões de arquivo completo, mas não há diferença.

Meu arquivo crt é o crt que foi emitido concatenado com o ca crt.

Atualizar

Eu tentei copiar as duas chaves em arquivos sperate e depois executar 'cat mykey.crt >> ca.cert'

Também tentei copiar manualmente as chaves no mesmo arquivo.

Alguma ideia?

Alex
fonte
Você /opt/nginx/conf/cleantechlms.crtestá quebrado de alguma forma. Como você o criou? Você poderia postar todas as etapas que fez?
Vbart
Em cleantechlms.crtque você quer ter apenas o seu certificado público sem chave e cadeia de certificados do seu ca. Se você o abrir no editor de texto, verá apenas --BEGIN-CERTIFICATE-- blocks ..
week

Respostas:

6

Obrigado pela ajuda, foi assim que resolvi:

  • Copie os certificados em um editor de texto para garantir que não haja espaço em branco (eu já havia feito isso)

  • Certifique-se de que as instruções de certificado de início e fim estejam na própria linha e tenham o mesmo número de '-' em cada extremidade.

  • Verifique se cada linha possui 64 caracteres (exceto a última linha)

Alex
fonte
Eu também tenho o erro quando o arquivo .cer continha apenas o certificado de nível superior e não todo o pacote / cadeia de certificados (CA intermediária e raiz)
radtek
0

Acabei com a mesma exceção e a corrigi adicionando a chave privada (x.509 + privatekey no final) no mesmo arquivo pem (formato pem). Eu acho que é porque eu costumava ter o mesmo formato e validar a configuração com "nignx -t".

Espero que ajude.

BalaMurugan Mahendran
fonte