8

オプションでkey、c​​a、certを使用してローカルノードサーバーへのSSLアクセスをテストしています(OpenSSLで自己署名)

var server_options = {
  key: fs.readFileSync('/etc/ssl/self-signed/server.key'),
  ca: fs.readFileSync('/etc/ssl/self-signed/server.csr'),
  cert: fs.readFileSync('/etc/ssl/self-signed/server.crt')
};

アクセスしようとしています:

curl -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token

curl を使用すると、次のエラーが表示されます。

curl: (60) SSL 証明書に問題があります。CA 証明書に問題がないことを確認してください。詳細: エラー: 14090086: SSL ルーチン: SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました

http://curl.haxx.se/ca/cacert.pemから ca 証明書をダウンロードし、curl-ca-bundle-new.crt ファイルに追加しました。仕方

ここにログがあります

  • connect() を macMini.local ポート 8000 (#0) にしようとしています

    • 192.168.1.14 を試しています...
    • 接続済み
    • macMini.local (192.168.1.14) ポート 8000 (#0) に接続
    • SSLv3、TLS ハンドシェイク、クライアント ハロー (1):
    • SSLv3、TLS ハンドシェイク、サーバー ハロー (2):
    • SSLv3、TLS ハンドシェイク、CERT (11):
    • SSLv3、TLS アラート、サーバー ハロー (2):
    • SSL 証明書に問題があります。CA 証明書に問題がないことを確認してください。詳細: エラー: 14090086: SSL ルーチン: SSL3_GET_SERVER_CERTIFICATE: 証明書の検証に失敗しました
    • 接続 #0 を閉じています curl: (60) SSL 証明書に問題があります。CA 証明書に問題がないことを確認してください。詳細: エラー:14090086:SSL ルーチン:SSL3_GET_SERVER_CERTIFICATE:証明書の検証に失敗しました。詳細はこちら: http://curl.haxx.se/docs/sslcerts.html

以下を使用して、Curl CA チェックをバイパスできることはわかっています。

curl -k -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token

その場合、問題なく動作しています。次のことがわかります。

SSL 証明書の検証結果: 自己署名証明書 (18)、続行します。

しかし、この問題を解決する方法があれば知りたいです...

4

3 に答える 3

7

CA バンドルに追加する必要があるのは、自己署名証明書です。そうしないと、curl は信頼できると判断できません。

于 2013-10-14T00:27:31.753 に答える