File: ssl_cert_password.js

package info (click to toggle)
mongodb 1%3A2.4.10-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 82,464 kB
  • sloc: cpp: 740,225; ansic: 152,098; sh: 13,820; python: 11,864; makefile: 1,012; perl: 922; pascal: 617; java: 452; lisp: 222; asm: 174
file content (48 lines) | stat: -rw-r--r-- 1,632 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Test passwords on private keys for SSL
// This tests that providing a proper password works and that providing no password or incorrect
// password fails.  It uses both mongod and mongo to run the tests, since the mongod binary
// does not return error statuses to indicate an error.
port = allocatePorts( 1 )[ 0 ];
var baseName = "jstests_ssl_ssl_cert_password";
var dbpath = "/data/db/" + baseName;
resetDbpath(dbpath);

// Password is correct
md = startMongod("--nopreallocj",
                 "--port", port, 
                 "--dbpath", dbpath, 
                 "--sslOnNormalPorts",
                 "--sslPEMKeyFile", "jstests/libs/password_protected.pem",
                 "--sslPEMKeyPassword", "qwerty");
// startMongod connects a Mongo shell, so if we get here, the test is successful.




// Password missing; error logged is:
//  error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read
var md = runMongoProgram("mongo", "--port", port, 
                         "--ssl",
                         "--sslPEMKeyFile", "jstests/libs/password_protected.pem");

// 1 is the exit code for failure
assert(md==1);



// Password incorrect; error logged is:
//  error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
md = runMongoProgram("mongo", "--port", port, 
                     "--ssl",
                     "--sslPEMKeyFile", "jstests/libs/password_protected.pem",
                     "--sslPEMKeyPassword", "barf");

// 1 is the exit code for failure
assert(md==1);


if (!_isWindows()) {
    // Stop the server
    var exitCode = stopMongod(port, 15);
    assert(exitCode == 0);
}