我使用nmap进行扫描,结果如下:

php - 如何在PHP CURL中使用ECDHE密码?-LMLPHP

看来他们只支持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

10-08 02:14