Nginx ssl - SSL: erreur: 0906D06C: routines PEM: PEM_read_bio: pas de ligne de départ

10

J'essaie d'activer SSL sur un serveur à l'aide d'un certificat de 123-reg mais je continue à recevoir cette erreur:

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)

Voici ma configuration 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;
 }

J'ai essayé de définir mon crt et ma clé sur des autorisations de fichier complètes, mais il n'y a aucune différence.

Mon fichier CRT est le CRT qui m'a été délivré concaténé avec le CA CRT.

Mise à jour

J'ai essayé de copier les deux clés dans des fichiers séparés, puis d'exécuter «cat mykey.crt >> ca.cert»

J'ai également essayé de copier manuellement les clés dans le même fichier.

Des idées?

Alex
la source
Votre /opt/nginx/conf/cleantechlms.crtest en quelque sorte cassé. Comment l'avez-vous créé? Pourriez-vous publier toutes les étapes que vous avez effectuées?
VBart
En cleantechlms.crtvous voulez avoir seulement votre certificat public sans certificats de clé et de chaîne de votre ca. Si vous l'ouvrez dans l'éditeur de texte, vous ne devriez voir que les blocs --BEGIN-CERTIFICATE-- ..
semaine du

Réponses:

6

Merci pour votre aide, voici comment je l'ai résolu:

  • Copiez les certificats dans un éditeur de texte pour vous assurer qu'il n'y a pas d'espace blanc (je l'avais déjà fait)

  • Assurez-vous que les déclarations de certificat de début et de fin sont sur leur propre ligne et ont le même nombre de «-» à chaque extrémité.

  • Assurez-vous que chaque ligne a 64 caractères (sauf la dernière ligne)

Alex
la source
J'ai également eu l'erreur lorsque le fichier .cer contenait uniquement le certificat de niveau supérieur et non l'intégralité de la chaîne de certificats (intermédiaire et racine)
radtek
0

Je me suis retrouvé avec la même exception et je l'ai corrigé en ajoutant une clé privée (x.509 + clé privée à la fin) dans le même fichier pem (format pem). Je pense que c'est parce que j'avais l'habitude d'avoir le même format et de valider la config avec "nignx -t".

J'espère que cela aide.

BalaMurugan Mahendran
la source