mirror of https://github.com/lukechilds/node.git
Browse Source
Add support for multiple PFX files in tls.createSecureContext. Also added support for object-style PFX pass. PR-URL: https://github.com/nodejs/node/pull/14793 Fixes: https://github.com/nodejs/node/issues/14756 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>canary-base
Yury Popov
7 years ago
committed by
Ruben Bridgewater
5 changed files with 85 additions and 13 deletions
Binary file not shown.
@ -0,0 +1,50 @@ |
|||||
|
'use strict'; |
||||
|
const common = require('../common'); |
||||
|
if (!common.hasCrypto) |
||||
|
common.skip('missing crypto'); |
||||
|
|
||||
|
const assert = require('assert'); |
||||
|
const tls = require('tls'); |
||||
|
const fixtures = require('../common/fixtures'); |
||||
|
|
||||
|
const options = { |
||||
|
pfx: [ |
||||
|
{ |
||||
|
buf: fixtures.readKey('agent1-pfx.pem'), |
||||
|
passphrase: 'sample' |
||||
|
}, |
||||
|
fixtures.readKey('ec-pfx.pem') |
||||
|
] |
||||
|
}; |
||||
|
|
||||
|
const ciphers = []; |
||||
|
|
||||
|
const server = tls.createServer(options, function(conn) { |
||||
|
conn.end('ok'); |
||||
|
}).listen(0, function() { |
||||
|
const ecdsa = tls.connect(this.address().port, { |
||||
|
ciphers: 'ECDHE-ECDSA-AES256-GCM-SHA384', |
||||
|
rejectUnauthorized: false |
||||
|
}, common.mustCall(function() { |
||||
|
ciphers.push(ecdsa.getCipher()); |
||||
|
const rsa = tls.connect(server.address().port, { |
||||
|
ciphers: 'ECDHE-RSA-AES256-GCM-SHA384', |
||||
|
rejectUnauthorized: false |
||||
|
}, common.mustCall(function() { |
||||
|
ciphers.push(rsa.getCipher()); |
||||
|
ecdsa.end(); |
||||
|
rsa.end(); |
||||
|
server.close(); |
||||
|
})); |
||||
|
})); |
||||
|
}); |
||||
|
|
||||
|
process.on('exit', function() { |
||||
|
assert.deepStrictEqual(ciphers, [{ |
||||
|
name: 'ECDHE-ECDSA-AES256-GCM-SHA384', |
||||
|
version: 'TLSv1/SSLv3' |
||||
|
}, { |
||||
|
name: 'ECDHE-RSA-AES256-GCM-SHA384', |
||||
|
version: 'TLSv1/SSLv3' |
||||
|
}]); |
||||
|
}); |
Loading…
Reference in new issue