我正在用key,ca,cert选项(自签名w OpenSSL)测试对本地节点服务器的SSL访问。
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 routines:SSL3_GET_SERVER_CERTIFICATE:certificate验证失败
我从http://curl.haxx.se/ca/cacert.pem下载了ca证书,并将它们添加到curl包-new.crt文件中,正如一些与curl相关的帖子中所建议的.但不可能
这是原木
- Trying 192.168.1.14...
- connected
- Connected to macMini.local (192.168.1.14) port 8000 (#0)
- SSLv3, TLS handshake, Client hello (1):
- SSLv3, TLS handshake, Server hello (2):
- SSLv3, TLS handshake, CERT (11):
- SSLv3, TLS alert, Server hello (2):
- SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3\_GET\_SERVER\_CERTIFICATE:certificate verify failed
- Closing connection #0 curl: (60) SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3\_GET\_SERVER\_CERTIFICATE:certificate verify failed More details here: [http://curl.haxx.se/docs/sslcerts.html](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),无论如何继续。
但我想知道有没有办法解决这个问题..。
发布于 2013-10-14 00:27:31
这是您自己签署的证书,您应该添加到您的CA包。否则,卷发不可能知道它是可信的。
发布于 2013-10-14 08:27:23
我终于在OSX (10.8)上找到了位置:/usr/share/curl/acert.pem,因此我向它添加了我的自签名证书,并且重新启动了我的节点-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
...发布于 2016-11-28 20:12:29
https://stackoverflow.com/questions/19351052
复制相似问题