mirror of https://github.com/lukechilds/node.git
Browse Source
Before this commit you had to pass multiple CA certificates as an array of strings. For convenience you can now pass them as a single string. Fixes: https://github.com/nodejs/node/issues/4096 PR-URL: https://github.com/nodejs/node/pull/4099 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: James M Snell <jasnell@gmail.com>process-exit-stdio-flushing
Ben Noordhuis
9 years ago
2 changed files with 47 additions and 29 deletions
@ -0,0 +1,35 @@ |
|||
'use strict'; |
|||
|
|||
const common = require('../common'); |
|||
const tls = require('tls'); |
|||
const fs = require('fs'); |
|||
|
|||
const ca1 = |
|||
fs.readFileSync(`${common.fixturesDir}/keys/ca1-cert.pem`, `utf8`); |
|||
const ca2 = |
|||
fs.readFileSync(`${common.fixturesDir}/keys/ca2-cert.pem`, `utf8`); |
|||
const cert = |
|||
fs.readFileSync(`${common.fixturesDir}/keys/agent3-cert.pem`, `utf8`); |
|||
const key = |
|||
fs.readFileSync(`${common.fixturesDir}/keys/agent3-key.pem`, `utf8`); |
|||
|
|||
function test(ca, next) { |
|||
const server = tls.createServer({ ca, cert, key }, function(conn) { |
|||
this.close(); |
|||
conn.end(); |
|||
}); |
|||
|
|||
server.addContext('agent3', { ca, cert, key }); |
|||
|
|||
const host = common.localhostIPv4; |
|||
const port = common.PORT; |
|||
server.listen(port, host, function() { |
|||
tls.connect({ servername: 'agent3', host, port, ca }); |
|||
}); |
|||
|
|||
server.once('close', next); |
|||
} |
|||
|
|||
const array = [ca1, ca2]; |
|||
const string = ca1 + '\n' + ca2; |
|||
test(array, () => test(string, () => {})); |
Loading…
Reference in new issue