サーバー証明書(自己署名)を検証するためにopenssl APIを使用すると、次のエラーが発生しました:
深さ1のルックアップでエラー19:証明書チェーンの自己署名証明書
Openssl ドキュメント に従って、このエラー(19)は
「X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:証明書チェーン内の自己署名証明書-信頼できない証明書を使用して証明書チェーンを構築できましたが、ルートがローカルに見つかりませんでした。」
なぜこのエラーが発生するのですか?サーバー証明書に問題はありますか?
自己署名の証明書があるため、デフォルトではnon-trustedであるため、OpenSSLからエラーが発生します。 man-in-the-middle攻撃 によりこのシナリオも発生する可能性があるため、この警告は実際には良いことです。
これを解決するには、信頼できるサーバーとしてインストールする必要があります。信頼されていないCAによって署名されている場合は、そのCAの証明書もインストールする必要があります。
自己署名証明書のインストールについて このリンク をご覧ください。
証明書チェーンを確認するためのワンライナーは次のとおりです。
openssl verify -verbose -x509_strict -CAfile ca.pem cert_chain.pem
これは、CAをどこにもインストールする必要はありません。
詳細については、 SSL証明書チェーンバンドルの仕組み を参照してください。
エラーの解決策は、コードの先頭に次の行を追加することです。
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";