ssl - 在 XAMPP 中为 CURL 启用 SSL 支持

标签 ssl curl https xampp

我正在使用编码的 PHP 脚本,它需要 CURL 的 SSL 支持。

我目前正在使用 XAMPP 进行本地开发,并且需要知道如何更新默认 CURL 以便在其上启用 SSL。

我正在寻找升级/支持的原因是我收到以下错误,当用谷歌搜索时出现错误等。我知道我的机器上的 CURL 不支持 SSL。

SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

请问大家有什么建议吗? 我当前的本地服务器配置:

XAMPP 1.7.3 cURL support enabled
cURL Information 7.19.6
Apache Version Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
Loaded Modules core mod_win32 mpm_winnt http_core mod_so mod_actions mod_alias mod_asis mod_auth_basic mod_auth_digest mod_authn_default mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_cgi mod_dav mod_dav_fs mod_dav_lock mod_dir mod_env mod_headers mod_include mod_info mod_isapi mod_log_config mod_mime mod_negotiation mod_rewrite mod_setenvif mod_ssl mod_status mod_vhost_alias mod_autoindex_color mod_php5 mod_perl mod_apreq2
SERVER_SIGNATURE Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 Server at localhost Port 80
SERVER_SOFTWARE Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1

最佳答案

您的机器不支持?您发布的错误意味着 CURL 无法验证远程服务器的 SSL 证书,并且不一定指向您的机器的特定不足。 根据我之前使用 CURL 的经验,它默认不接受/信任任何证书。根据你的设置和你打算用它做什么,你可能想要信任一个单一的自签名证书 [[无法验证自签名证书!]] (例如来自另一个您运行的机器),或者您可能希望信任真正的证书颁发机构(这将能够验证由该 CA 签署的任何证书)。如果您熟悉如何更改 CURL 的设置,本教程相当简单: http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/

如果采用该路径,您可以选择根 CA,但如果您只是保护自己两台机器之间的传输,则只需将 CURL 设置为信任另一台机器的证书。

另一方面,如果您确实对 SSL 有一些更深层次的问题,它可能是由多种原因造成的,例如在没有 SSL 支持的情况下构建。如果您正在制作、配置和编译您自己的 CURL 版本,您可能需要查看 http://curl.haxx.se/docs/faq.html关于 SSL 的主题,包括

http://curl.haxx.se/docs/sslcerts.htmlhttp://curl.haxx.se/docs/faq.html#What_certificates_do_I_need_when

请注意后一个链接(常见问题解答)中无法验证自签名证书。如果您要连接到您自己的另一台服务器,则其证书需要由 CA 签名并且 CA 的证书受 CURL 信任才能成功连接。如果您只需要获得签名,或者您可以设置自己的 CA,那么那里有免费的 CA(根据我的经验,让已经设置的人签名要容易十倍)。如果另一台服务器正在托管一个处理“现实世界”(金钱、产品、个人信息等)的安全站点,那么它的证书应该是或者你应该让它由一个受信任的 CA 签名(VISA、Equifax、Comodo、您可以在每个浏览器中找到受信任的根 CA 列表)。

我已经介绍了我可以如何应对该错误,但如果这些都没有帮助,那么有关您的设置和系统的更多信息可能会有所帮助。 :)

关于ssl - 在 XAMPP 中为 CURL 启用 SSL 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4396075/

相关文章:

ios - 由于 NSURLSession/NSURLConnection HTTP 加载失败,无限 pthread 创建崩溃应用程序

javascript - 需要帮助来归纳curl Post代码中的JS/Node.js

从 docker 容器到主机超时的 curl 请求

ssl - 我可以在 mean.io 的什么地方设置我的 ssl 证书?

c - 读取 HTTPS 流量中的 SSL 和 TLS 数据

security - 如果我们在负载均衡器而不是服务器上安装 SSL 证书,是否有任何安全风险?

java - Axis2 客户端无法在 Tomcat 7.0.42 上启动第二个 https 调用

php - 如何获取相同的firebug "network"部分信息?

linux - 如何从外部限制 golang http 上传的速率?

apache - 使用 MAMP 测试 HTTPS 文件