Eph*_*rom 7 php curl handshake sslv3
由于3天我无法连接到paypal沙箱.我发现他们可能无法支持SSLv3.所以我尝试通过设置更改我的curl请求中的SSL版本:
curl_setopt($curl, CURLOPT_SSLVERSION,1); # 1 = TLSv1
Run Code Online (Sandbox Code Playgroud)
但它仍然给我同样的错误:
error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Run Code Online (Sandbox Code Playgroud)
知道为什么脚本仍在使用SSLv3吗?
我正在使用php 5.5和以下curl版本(目前在我的主机[在1和1的托管主机]询问升级到更新的版本)
curl 7.21.0(i486-pc-linux-gnu)libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6协议:dict文件ftp ftps http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp功能:GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
问题是PayPal放弃了对SSLv3,TLS 1.0和TLS 1.1的支持,现在仅支持TLS 1.2,但是使用(0.9.8o)构建的OpenSSL版本cURL 不支持TLS。
此时,您所要做的就是希望主机可以将OpenSSL,cURL和PHP更新为OpenSSL的较新版本(1.0+)。
从目前的情况来看,您的cURL客户端不会说PayPal要求的TLS,除了更新OpenSSL之外,没有其他解决方法。
| 归档时间: |
|
| 查看次数: |
17998 次 |
| 最近记录: |