节点版本:v0.12.02
firefox版本:40.0.4
我通过TLS节点创建一个网站,由于安全性,我想在我的webapp中使用TLS V1.2。
根据网站https://nodejs.org/docs/latest-v0.12.x/api/tls.html
ECDHE-RSA-AES128-SHA256, DHE-RSA-AES128-SHA256 and AES128-GCM-SHA256 are TLS v1.2 ciphers and used when Node.js is linked against OpenSSL 1.0.1 or newer, such as the bundled version of OpenSSL. Note that it is still possible for a TLS v1.2 client to negotiate a weaker cipher unless honorCipherOrder is enabled.
我使用密码只支持TLs v1.2
var credentials = {
key: privateKey,
cert:certificate,
ciphers:"ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:AES128-GCM-SHA256"
};
Chrome& IE无法访问任何问题,但是,使用Firefox时,会出现“ssl_error_no_cypher_overlap”。
然后我给密码加了一个“HIGH”,喜欢这个:
密码: “ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:AES128-GCM-SHA256:HIGH”
这解决了之前的问题,FireFox的行为还可以。 但添加“HIGH”后,带有tls1.0的网络浏览器,tls1.1可以访问我的网站。 我对这个问题很困惑。任何人都可以告诉我原因或怎样才能在nodejs中使用tls1.2? 谢谢。