【问题标题】:Mac OS X 10.9 Unknown SSL protocol error in connection toMac OS X 10.9 连接到未知 SSL 协议错误
【发布时间】:2013-10-24 17:29:55
【问题描述】:

我将我的 mac OS 更新到 OS X 10.9。
OS X 10.9/Apache 2.2.24/PHP 5.4.17 现在尝试通过 cURL 连接到我们的远程服务器时出现错误(连接到...时出现未知 SSL 协议错误)。

DEFINE("SSL_CERTTYPE", "PEM");  
DEFINE("SSL_KEYPASS", "xxxxxxxxx");
DEFINE("SSL_CERT", $_SERVER['DOCUMENT_ROOT']."/certs/mycert.pem"); 
DEFINE("SSL_KEY", $_SERVER['DOCUMENT_ROOT']."/certs/mycert.key");

$options = array
(
    CURLOPT_URL            => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HEADER         => false,
    CURLOPT_FOLLOWLOCATION => false,
    CURLOPT_VERBOSE        => false,
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_SSL_VERIFYPEER => false, 
    CURLOPT_SSLCERT        => SSL_CERT,
    CURLOPT_SSLKEY         => SSL_KEY,
    CURLOPT_SSLKEYPASSWD   => SSL_KEYPASS,
    CURLOPT_SSLCERTTYPE    => SSL_CERTTYPE,
);

我已尝试将 SSLVERSION 设置为 2 和 3,但我仍然收到错误。

不确定这是 Apache 还是 PHP 问题。任何指导将不胜感激。 *还值得注意的是,这是在更新之前的 10.8 上运行的。

【问题讨论】:

  • 我的解决方法是使用 brew 安装 php55 并使用它附带的内置 Web 服务器。我想这也适用于 php54。
  • 对于可能遇到此问题的其他人,我最终升级了 php 的版本:curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5 本站说明:link

标签: php curl ssl apache2 osx-mavericks


【解决方案1】:

这实际上与 curl 有关:http://curl.haxx.se/mail/archive-2013-10/0036.html

显然,Apple 从 OpenSSL 转移到了他们自己的安全传输协议,这似乎破坏了 curl 对客户端证书的处理(如果连接需要)。到目前为止,我发现的唯一解决方法是删除客户端证书要求,不幸的是这并不理想。

-- 更新--

看来您应该可以使用 Keychain Access 来使其工作,但到目前为止我还没有做到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-27
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 2017-12-22
    • 2014-12-16
    相关资源
    最近更新 更多