在XAMPP中为CURL启用SSL支持

前端之家收集整理的这篇文章主要介绍了在XAMPP中为CURL启用SSL支持前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用编码的 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版本,您可能需要查看有关SSL的主题http://curl.haxx.se/docs/faq.html,包括

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

请注意后一个链接(FAQ)无法验证自签名证书.如果您要连接到自己的另一台服务器,则需要由CA和CURL信任的CA证书对其证书进行签名,以使连接成功.如果您只需要获得签名或者您可以设置自己的CA,那么就有免费的CA(根据我的经验,只有十倍的时间才能让已经设置过的人签名).如果其他服务器正在托管一个处理“现实世界”(金钱,产品,个人信息等)的安全站点,那么它的证书应该是或者您应该由可信任的CA签署(VISA,Equifax,Comodo,您可以在每个浏览器中找到受信任的根CA列表.

我已经介绍了我可以回应这个错误,但如果这些都没有帮助,那么关于您的设置和系统的更多信息可能会有所帮助.

猜你在找的Linux相关文章