0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-25 08:19:38 +01:00
nodejs/test/parallel/test-tls-getcipher.js
Roman Reiss 30e340ad9d test: fix parallel/test-tls-getcipher
The test blindly assumes that the default cipher suite supports RC4
ciphers. This corrects the case where RC4 might not be available in the
default ciphers by setting the client to use the same suite as the
server.

PR-URL: https://github.com/iojs/io.js/pull/853
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-02-15 18:43:06 +01:00

38 lines
987 B
JavaScript

var common = require('../common');
var assert = require('assert');
var tls = require('tls');
var fs = require('fs');
var cipher_list = ['RC4-SHA', 'AES256-SHA'];
var cipher_version_pattern = /TLS|SSL/;
var options = {
key: fs.readFileSync(common.fixturesDir + '/keys/agent2-key.pem'),
cert: fs.readFileSync(common.fixturesDir + '/keys/agent2-cert.pem'),
ciphers: cipher_list.join(':'),
honorCipherOrder: true
};
var nconns = 0;
process.on('exit', function() {
assert.equal(nconns, 1);
});
var server = tls.createServer(options, function(cleartextStream) {
nconns++;
});
server.listen(common.PORT, '127.0.0.1', function() {
var client = tls.connect({
host: '127.0.0.1',
port: common.PORT,
ciphers: cipher_list.join(':'),
rejectUnauthorized: false
}, function() {
var cipher = client.getCipher();
assert.equal(cipher.name, cipher_list[0]);
assert(cipher_version_pattern.test(cipher.version));
client.end();
server.close();
});
});