var Decipher = binding.Decipher;
var Sign = binding.Sign;
var Verify = binding.Verify;
+ var DiffieHellman = binding.DiffieHellman;
var crypto = true;
} catch (e) {
}
-function Credentials(secureProtocol, context) {
+function Credentials(secureProtocol, flags, context) {
if (!(this instanceof Credentials)) {
return new Credentials(secureProtocol);
}
this.context.init();
}
}
+
+ if (flags) this.context.setOptions(flags);
}
exports.Credentials = Credentials;
exports.createCredentials = function(options, context) {
if (!options) options = {};
- var c = new Credentials(options.secureProtocol, context);
+
+ var c = new Credentials(options.secureProtocol,
+ options.secureOptions,
+ context);
if (context) return c;
if (options.cert) c.context.setCert(options.cert);
+ if (options.ciphers) c.context.setCiphers(options.ciphers);
+
if (options.ca) {
if (Array.isArray(options.ca)) {
for (var i = 0, len = options.ca.length; i < len; i++) {
exports.createVerify = function(algorithm) {
return (new Verify).init(algorithm);
};
+
+exports.DiffieHellman = DiffieHellman;
+exports.createDiffieHellman = function(size_or_key, enc) {
+ if (!size_or_key) {
+ return new DiffieHellman();
+ } else if (!enc) {
+ return new DiffieHellman(size_or_key);
+ } else {
+ return new DiffieHellman(size_or_key, enc);
+ }
+
+}