我使用nmap
进行扫描,结果如下:
看来他们只支持ECDHE,从openssl_get_cipher_methods()
的输出来看,没有ECDHE密码!所以我的问题是如何使用PHP CURL客户端连接到远程服务器?
这是我的示例PHP代码,返回以下消息:
“列表中的未知密码:
ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128- SHA”,
curl错误编号代码为59(无法使用指定的密码。)
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA");
curl_setopt($ch, CURLOPT_SSLVERSION, 6);
curl_setopt($ch, CURLOPT_URL, "xxxxxxxxxxxxxxx");
var_dump(curl_exec($ch));
var_dump(curl_error($ch));
var_dump(curl_errno($ch));
我正在使用PHP 5.3.29,openssl 1.0.1e-fips 2013年2月11日
最佳答案
“ CURLOPT_SSL_CIPHER_LIST”的格式取决于您的cURL链接到的库。如果您在RedHat派生的Linux上运行,则为NSS而不是GNUTLS(Ubuntu)或OpenSSL,因此您需要相应地转换名称。
以下问题应为您提供帮助:
https://unix.stackexchange.com/questions/208437/how-to-convert-ssl-ciphers-to-curl-format