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

时间:2018-01-24 08:02:26

标签: php ssl curl ecdhe

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

enter image description here

看起来他们只支持ECDHE,从nmap的输出,没有ECDHE密码!所以我的问题是如何使用PHP CURL客户端连接到远程服务器?

这是我的示例PHP代码,其返回 false ,并带有以下消息:

  

“列表中的未知密码:   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”   卷曲错误编号代码 59 (无法使用指定的密码。)

openssl_get_cipher_methods()

我正在使用PHP 5.3.29,openssl 1.0.1e-fips 2013年2月11日

2 个答案:

答案 0 :(得分:0)

' 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

答案 1 :(得分:0)

我找到了根本原因,我正在使用NSS包3.19运行CentOS。默认情况下,此版本不启用ECC密码(ECDHE是ECC密码之一),在升级到NSS 3.21 +后修复。

https://bugzilla.mozilla.org/show_bug.cgi?id=1205688
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.21_release_notes
https://tools.ietf.org/html/rfc4492