mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
parent
6461af1baa
commit
21724ecaec
@ -36,7 +36,7 @@ try {
|
||||
}
|
||||
|
||||
|
||||
function Credentials(secureProtocol) {
|
||||
function Credentials(secureProtocol, context) {
|
||||
if (!(this instanceof Credentials)) {
|
||||
return new Credentials(secureProtocol);
|
||||
}
|
||||
@ -45,22 +45,28 @@ function Credentials(secureProtocol) {
|
||||
throw new Error('node.js not compiled with openssl crypto support.');
|
||||
}
|
||||
|
||||
this.context = new SecureContext();
|
||||
|
||||
if (secureProtocol) {
|
||||
this.context.init(secureProtocol);
|
||||
if (context) {
|
||||
this.context = context;
|
||||
this.reuseContext = true;
|
||||
} else {
|
||||
this.context.init();
|
||||
}
|
||||
this.context = new SecureContext();
|
||||
|
||||
if (secureProtocol) {
|
||||
this.context.init(secureProtocol);
|
||||
} else {
|
||||
this.context.init();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
exports.Credentials = Credentials;
|
||||
|
||||
|
||||
exports.createCredentials = function(options) {
|
||||
exports.createCredentials = function(options, context) {
|
||||
if (!options) options = {};
|
||||
var c = new Credentials(options.secureProtocol);
|
||||
var c = new Credentials(options.secureProtocol, context);
|
||||
|
||||
if (context) return c;
|
||||
|
||||
if (options.key) c.context.setKey(options.key);
|
||||
|
||||
|
23
lib/tls.js
23
lib/tls.js
@ -713,16 +713,23 @@ function Server(/* [options], listener */) {
|
||||
|
||||
var self = this;
|
||||
|
||||
// Handle option defaults:
|
||||
this.setOptions(options);
|
||||
|
||||
var sharedCreds = crypto.createCredentials({
|
||||
key: self.key,
|
||||
cert: self.cert,
|
||||
ca: self.ca,
|
||||
ciphers: self.ciphers,
|
||||
secureProtocol: self.secureProtocol,
|
||||
crl: self.crl
|
||||
});
|
||||
|
||||
sharedCreds.context.setCiphers('RC4-SHA:AES128-SHA:AES256-SHA');
|
||||
|
||||
// constructor call
|
||||
net.Server.call(this, function(socket) {
|
||||
var creds = crypto.createCredentials({
|
||||
key: self.key,
|
||||
cert: self.cert,
|
||||
ca: self.ca,
|
||||
secureProtocol: self.secureProtocol,
|
||||
crl: self.crl
|
||||
});
|
||||
creds.context.setCiphers('RC4-SHA:AES128-SHA:AES256-SHA');
|
||||
var creds = crypto.createCredentials(null, sharedCreds.context);
|
||||
|
||||
var pair = new SecurePair(creds,
|
||||
true,
|
||||
|
Loading…
Reference in New Issue
Block a user