2012-11-17 4 views
2

SSLCertificateFileSSLCertificateKeyFile 인증을 사용하여 https 서버에 대한 샘플 코드가 있습니까?노드 js tls1.2 및 인증

관련 샘플에 대한 모든 정보를 얻으실 수 있습니다.

ssllabs는 클라이언트가 시작한 재협상

을 지원하고 내가 HTTPS 리스너가 쉽게 생성 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); 
+0

당신이 HTTPS 서버의 모든 종류를 실행하는 데 문제가, 아니면 그냥 TLS 1.2 데 문제가 있습니까 구체적으로? 어떤 노드 버전을 실행하고 있습니까? – Joe

+0

node.js에 내 모자를 던지기 전에 0.8.9 – Drew

+0

을 실행 중입니다. PHP가 너무 많고 아파치가 깊다는 것이 궁금합니다. 왜 휠 재발견 – Drew

답변

5

을 만들 fusker의를 얻을 수 있기 때문에 서비스 거부에 취약 주장하지만 그렇지 않아 TLS 1.2로 특정 문제를 생성했는지 여부를 명확히하십시오. 최근 노드는 OpenSSL의 새 버전을 기반으로 1.2 지원을받습니다. 여기에 설명 된대로

그런 다음 당신은 암호 및 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); 
+0

thx. https://secure.mathpdq.com/는 TLS1.0으로보고하고 ssllabs는 클라이언트가 재협상을 지원하기 때문에 DoS에 취약하다고 말합니다. – Drew

+0

나는 약간 위의 질문을 수정했습니다. – Drew