在node.js中禁用TLS 1.1?

jsa*_*nen 5 ubuntu ssl openssl node.js ubuntu-12.04

我目前在Ubuntu 12.04上遇到OpenSSL的已知问题.这个问题已经在Debian中修复了,我希望它很快就会在Ubuntu中修复.但是,与此同时,我需要一个解决方法.

那么是否可以在Node中禁用TLS1并具有与tls1switch相同的功能:

openssl s_client -tls1 -connect evernote.com:443
Run Code Online (Sandbox Code Playgroud)

这是一个简单的Node.js脚本来复制问题(在Ubuntu 12.04 w/OpenSSL 1.0.1上)

var https = require('https');
https.get({
    host: 'www.evernote.com',
    path: '/',
    port: 443
  }, function (res) {
    console.log('Success!');
  });
Run Code Online (Sandbox Code Playgroud)

emb*_*oss 5

从判断文档和所述源(1,2),它应该是能够传递一个选项对象到request包含类似

options = { secureProtocol: 'TLSv1_method' }
Run Code Online (Sandbox Code Playgroud)

为了这个特定的连接使用TLSv1(以及那个).

默认情况下使用OpenSSL的SSLv23_method,这意味着使用双方可能理解的最高TLS/SSL版本.

虽然在OpenSSL本身可能,但是我无法将node.js中的特定TLS版本(如"尽可能使用最高版本,但从不使用此版本")列入黑名单,这样做的必要标志是不在node.js本身导出.