与etws.etrade.com:443相关的未知SSL协议错误

时间:2014-11-16 02:46:55

标签: php ssl curl etrade-api

我正在尝试连接到使用OAuth的eTrade API。我正在尝试请求令牌。

我尝试连接的域名具有SSL证书。

连接使用TLS 1.2。该连接使用AES_128_GCM进行加密和验证,并使用ECDHE_RSA作为密钥交换机制。

这是我得到的确切错误

捕获异常 错误代码:1001错误消息:错误号:35错误:与etws.etrade.com:443#0 / home相关的未知SSL协议错误/detroitclicks/public_html/etrade/Common/etHttpUtils.class.php(174):etHttpUtils-> DoHttpRequest()#1 /home/detroitclicks/public_html/etrade/OAuth/etOAuth.class.php(58):etHttpUtils-&gt ; GetResponse()#2 /home/detroitclicks/public_html/etrade/Samples/test_etOAuth.php(54):etOAuth-> GetRequestToken()#3 {main}退出...

我不确定这是否重要,但我在我的一个php文件中设置了这个:

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
    curl_setopt($ch, CURLOPT_SSLVERSION, 3);

1 个答案:

答案 0 :(得分:1)

The connection uses TLS 1.2.   
....
curl_setopt($ch, CURLOPT_SSLVERSION, 3);

TLS 1.2的要求与使用CURLOPT_SSLVERSION的版本3(SSL 3.0)的显式设置不匹配。只需删除此设置,它应该尽力而为。如果您的本地SSL堆栈尚不支持TLS 1.2,它可能仍会失败。