我正在使用key,ca,cert in options测试对本地节点服务器的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')
};
Run Code Online (Sandbox Code Playgroud)
试图访问它:
curl -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token
Run Code Online (Sandbox Code Playgroud)
使用curl我收到以下错误:
curl:(60)SSL证书问题,验证CA证书是否正常.详细信息:错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败
我从http://curl.haxx.se/ca/cacert.pem下载了ca证书并将它们添加到我的curl-ca-bundle-new.crt文件中,正如一些与curl相关的帖子中所建议的那样...但是没有办法
这是日志
- 即将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
Run Code Online (Sandbox Code Playgroud)
在这种情况下运行正常,我可以看到:
SSL证书验证结果:自签名证书(18),无论如何都要继续.
但我想知道是否有办法解决这个问题......
小智 5
我终于找到了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
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46333 次 |
| 最近记录: |