web-dev-qa-db-fra.com

Openssl: erreur "certificat auto-signé dans la chaîne de certificats"

Lorsque j'ai utilisé des API openssl pour valider le certificat du serveur (auto-signé), j'ai eu l'erreur suivante:

erreur 19 à 1 recherche en profondeur: certificat auto-signé dans la chaîne de certificats

Selon openssl documentation , cette erreur (19) est

"X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: certificat auto-signé dans la chaîne de certificats - la chaîne de certificats peut être créée à l'aide des certificats non approuvés mais la racine est introuvable localement."

Pourquoi cette erreur se produit? Des problèmes avec mon certificat de serveur?

20
Lunar Mushrooms

Vous avez un certificat qui est auto-signé, c'est donc non approuvé par défaut, c'est pourquoi OpenSSL se plaint. Cet avertissement est en fait une bonne chose, car ce scénario peut également augmenter en raison d'une attaque de l'homme du milie .

Pour résoudre ce problème, vous devrez l'installer en tant que serveur de confiance. S'il est signé par une autorité de certification non approuvée, vous devrez également installer le certificat de cette autorité de certification.

Jetez un oeil à ce lien sur l'installation de certificats auto-signés.

12
Eitan T

Voici une ligne pour vérifier la chaîne de certificats:

openssl verify -verbose -x509_strict -CAfile ca.pem cert_chain.pem

Cela ne nécessite pas d'installer CA n'importe où.

Voir Comment fonctionne un ensemble de chaînes de certificats SSL? pour plus de détails.

9
Vadzim

La solution à l'erreur consiste à ajouter cette ligne en haut du code:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
1
lalithsagar