首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OS X与curl SSL冲突-证书错误

OS X与curl SSL冲突-证书错误
EN

Stack Overflow用户
提问于 2013-10-18 01:45:54
回答 1查看 1.7K关注 0票数 1

我正在尝试使用curl w SSL,但是我得到了一个关于证书的永久性错误。我知道OSX在curl证书方面一团糟,我想我在为dev创建自己的自签名证书(我的本地主机上的node_ssl_server.local)之后,忘记了一个重要的过程。

错误:

代码语言:javascript
复制
curl --verbose --header "Authorization: Bearer b8232aedb20e0a97499b3bffa9d3edeb3c1b25" https://node_ssl_server.local:8000/Categories
* About to connect() to node_ssl_server.local port 8000 (#0)
*   Trying 192.168.1.13...
* connected
* Connected to node_ssl_server.local (192.168.1.13) port 8000 (#0)
* successfully set certificate verify locations:
*   CAfile: /usr/share/curl/cacert.pem
  CApath: none
* 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

我之前在创建自签名证书时所做的事情:

代码语言:javascript
复制
    cd /etc/ssl/self-signed
    sudo openssl genrsa -des3 -out server.pass.key 2048
    sudo openssl rsa -in server.pass.key -out server.key
    sudo openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
    sudo openssl rsa -passin pass:x -in server.pass.key -out server.key
    sudo rm server.pass.key
    sudo openssl req -new -key server.key -out server.csr
    ..
    >Common Name (e.g. server FQDN or YOUR name) []:node_ssl_server.local
    ..
    sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

因此,我将自签名证书放入/etc/ssl/ self-signed:

代码语言:javascript
复制
    ls /etc/ssl/self-signed
    > server.crt    server.csr  server.key

并将我的curl共享到/usr/ cacert.pem /curl:

代码语言:javascript
复制
    ls /usr/share/curl 
    > cacert.pem

我备份它:

代码语言:javascript
复制
    sudo cp cacert.pem cacert.pem.old

    ls /usr/share/curl 
    > cacert.pem    cacert.pem.old

我删除了它,并构建了一个新的证书,并连接了我的自签名证书:

代码语言:javascript
复制
    sudo rm cacert.pem
    sudo sh -c 'cat cacert.pem.old /etc/ssl/self-signed/server.crt >> cacert.pem'

    ls /usr/share/curl 
    > cacert.pem    cacert.pem.old

我用卷曲..。引发错误是否有关于keychain的其他进程( Mac OSX 10.9 - Mountain Lion) ??在使用curl w SSL之前?

EN

回答 1

Stack Overflow用户

发布于 2013-10-18 19:36:32

我将我的自签名证书(/etc/ssl/ self-signed /server.crt)添加到Apple keychain证书(作为根证书),并给出了授权...然后我重新启动了我的电脑...这是一个关键点。我不知道为什么我的计算机需要重启,但是证书不能被识别...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19433657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档