3

是否有任何用于 https 服务器的示例代码使用 aSSLCertificateFileSSLCertificateKeyFile使用 tls 1.2 进行身份验证?

任何指向相关样本的指针都将受到高度赞赏。

ssllabs 声明它容易受到 DoS 攻击,因为它支持客户端发起的重新协商

而且我无法让 fusker 创建一个 ssl 服务器

var https = require('https');
var fs = require('fs');
var fusker = require('fusker');

//var server = fusker.https.createServer(443);
//var io = fusker.socket.listen(server);

var options = {
key: fs.readFileSync('/etc/ssl/server.key'),
cert: fs.readFileSync('/etc/ssl/mathpdq.crt'),
ciphers: 'RC4-SHA:RC4:ECDHE-RSA-AES256-SHA:AES256-SHA:HIGH:!MD5:!aNULL:!EDH:!AESGCM',
honorCipherOrder: true
};

https.createServer(options, function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(443);
4

1 回答 1

6

创建一个 https 监听器很容易,但不清楚使用 TLS 1.2 创建一个监听器是否存在特定问题。最近的节点针对足够新版本的 OpenSSL 构建,以获取他们的 1.2 支持。

然后你需要 ciphers 和 HonorCipherOrder 选项,如下所述:http ://nodejs.org/api/tls.html

例如

var https = require('https');
var fs = require('fs');

var options = {
    key: fs.readFileSync('my.key'),
    cert: fs.readFileSync('my.crt'),
    ciphers: 'ECDHE-RSA-AES256-SHA:AES256-SHA:RC4-SHA:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM',
    honorCipherOrder: true
};

var server = https.createServer(options, function (req, res) {
    ...});

server.listen(443);
于 2012-11-18T16:58:58.267 回答