web-dev-qa-db-ja.com

SSL証明書エラー

オプションでキー、ca、certを使用してローカルノードサーバーへのSSLアクセスをテストしています(自己署名w 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ハンドシェイク、Client hello(1):
    • SSLv3、TLSハンドシェイク、Server Hello(2):
    • SSLv3、TLSハンドシェイク、CERT(11):
    • SSLv3、TLSアラート、サーバーhello(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)、とにかく続行します。

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

8
user762579

CAバンドルに追加する必要があるのは、自己署名証明書です。そうでなければ、curlはそれが信頼できることを知ることができません。

6
Bruno

最後にOSX(10.8)の場所を見つけました:/usr/share/curl/cacert.pemに自己署名証明書を追加し、node-sslサーバーを再起動しました。

その後、curlコマンドは-kオプションを使用して正常に実行されます

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

* About to connect() to macMini.local port 8000 (#0)
*   Trying 192.168.1.14...
* connected
* Connected to macMini.local (192.168.1.14) port 8000 (#0)
* successfully set certificate verify locations:
*   CAfile: /usr/share/curl/cacert.pem
  CApath: none
...
5
user762579

Macでは、 composer をインストールしようとすると、同様のssl関連エラーが発生しました。

エラー:14090086:SSLルーチン:SSL3_GET_SERVER_CERTIFICATE:証明書

コマンド用

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

しかし、私は正常にコマンドを実行してインストールしました

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/composer/

指示通り ここ

0
zeeawan