客户端SSL证书的PHP和cURL错误

时间:2014-03-27 06:32:42

标签: php curl openssl

我目前正在使用PHP / cURL使用他们提供的客户端证书/密钥连接到API(xero.com)。

我一直遇到这个错误:

Curl error (56): SSL read: errno -5961

相应的cURL错误为CURLE_RECV_ERROR

谷歌没有帮助。有什么可能导致这个的任何线索?修复?

2 个答案:

答案 0 :(得分:1)

  

任何可能导致此问题的线索?修复?

根据其他报告,您的SSL会话似乎已超时。例如,请参阅Root cause of “curl: (56) SSL read: errno -5961” errors

但是,客户证书将是我要检查的第一件事。

您是否可以使用OpenSSL的s_client

在命令行上复制问题
  

谷歌没有帮助。

当你搜索时,你必须引用-5961:“ - 5961”。否则,Google会将其视为排除谓词。

答案 1 :(得分:0)

解决方案是我使用的证书PEM文件包含多个证书,而OpenSSL / cURL只是使用了第一个证书(这是错误的证书)。错误消息没有帮助。

一旦我将正确的证书拉到自己的文件中,一切都开始神奇地工作了。

这里的道德是,如果你遇到这个问题,检查你的密钥,检查你的证书,交叉你的,并点你的。