test: function(configuration, test) { var ReplSetManager = require('mongodb-core').ReplSetManager , MongoClient = configuration.require.MongoClient; // All inserted docs var docs = []; var errs = []; var insertDocs = []; // Read the ca var ca = [fs.readFileSync(__dirname + "/ssl/ca.pem")]; var cert = fs.readFileSync(__dirname + "/ssl/client.pem"); var key = fs.readFileSync(__dirname + "/ssl/client.pem"); var replSetManager = new ReplSetManager({ // SSL information host: "server", ssl:true, sslPEMKeyFile: __dirname + "/ssl/server.pem", sslCAFile: __dirname + "/ssl/ca.pem", sslCRLFile: __dirname + "/ssl/crl.pem", sslMode: 'requireSSL', // The client certificate key: cert, cert: cert, rejectUnauthorized: false, // ReplSet settings secondaries: 2 }); replSetManager.start({kill: true, purge:true, signal: -9}, function(err, result) { if(err != null) throw err; // Present wrong certificate var cert = fs.readFileSync(__dirname + "/ssl/mycert.pem"); var key = fs.readFileSync(__dirname + "/ssl/mycert.pem"); // Connect and validate the server certificate MongoClient.connect("mongodb://server:31000,server:31001/test?ssl=true&replicaSet=rs&maxPoolSize=1", { replSet: { sslValidate:true , sslCA:ca , sslKey:key , sslCert:cert , sslPass: '******' } }, function(err, db) { test.ok(err != null) replSetManager.stop(function() { test.done(); }); }); }); }
}, function(err, db) { test.equal(null, err) replSetManager.stop(function() { test.done(); }); });
}, function(err, db) { test.ok(err != null) replSetManager.stop(function() { test.done(); }); });
test: function(configuration, test) { var ReplSetManager = require('mongodb-core').ReplSetManager , MongoClient = configuration.require.MongoClient; // All inserted docs var docs = []; var errs = []; var insertDocs = []; // Read the ca var ca = [fs.readFileSync(__dirname + "/ssl/ca.pem")]; var cert = fs.readFileSync(__dirname + "/ssl/client.pem"); var key = fs.readFileSync(__dirname + "/ssl/client.pem"); var replicasetManager = new ReplSetManager({ host: "server" , sslOnNormalPorts: null , sslPEMKeyFile: __dirname + "/ssl/server.pem" , secondaries:2 // EnsureUp options , ssl: true , rejectUnauthorized:false , ca:ca }); replicasetManager.start({kill: true, purge:true, signal: -9}, function(err, result) { if(err != null) throw err; // Connect and validate the server certificate MongoClient.connect("mongodb://server:31000/test?ssl=true&replicaSet=rs&maxPoolSize=1", { replSet: { ssl:true , sslValidate:false , sslCA:ca } }, function(err, db) { test.equal(null, err); test.ok(db != null); db.close(); replicasetManager.stop(function() { test.done(); }); }); }); }
}, function(err, db) { test.equal(null, err); test.ok(db != null); db.close(); replSetManager.stop(function() { test.done(); }); });