オプションでキー、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)、とにかく続行します。
しかし、この問題を解決する方法があるかどうか知りたい...
CAバンドルに追加する必要があるのは、自己署名証明書です。そうでなければ、curlはそれが信頼できることを知ることができません。
最後に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
...
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/
指示通り ここ 。