|
|
@@ -379,6 +379,15 @@ func Test_signCert(t *testing.T) {
|
|
|
assert.Equal(t, "Enter passphrase: ", ob.String())
|
|
|
assert.Empty(t, eb.String())
|
|
|
|
|
|
+ // test with the proper password in the environment
|
|
|
+ os.Remove(crtF.Name())
|
|
|
+ os.Remove(keyF.Name())
|
|
|
+ args = []string{"-version", "1", "-ca-crt", caCrtF.Name(), "-ca-key", caKeyF.Name(), "-name", "test", "-ip", "1.1.1.1/24", "-out-crt", crtF.Name(), "-out-key", keyF.Name(), "-duration", "100m", "-subnets", "10.1.1.1/32, , 10.2.2.2/32 , , ,, 10.5.5.5/32", "-groups", "1,, 2 , ,,,3,4,5"}
|
|
|
+ os.Setenv("NEBULA_CA_PASSPHRASE", string(passphrase))
|
|
|
+ require.NoError(t, signCert(args, ob, eb, testpw))
|
|
|
+ assert.Empty(t, eb.String())
|
|
|
+ os.Setenv("NEBULA_CA_PASSPHRASE", "")
|
|
|
+
|
|
|
// test with the wrong password
|
|
|
ob.Reset()
|
|
|
eb.Reset()
|
|
|
@@ -389,6 +398,17 @@ func Test_signCert(t *testing.T) {
|
|
|
assert.Equal(t, "Enter passphrase: ", ob.String())
|
|
|
assert.Empty(t, eb.String())
|
|
|
|
|
|
+ // test with the wrong password in environment
|
|
|
+ ob.Reset()
|
|
|
+ eb.Reset()
|
|
|
+
|
|
|
+ os.Setenv("NEBULA_CA_PASSPHRASE", "invalid password")
|
|
|
+ args = []string{"-version", "1", "-ca-crt", caCrtF.Name(), "-ca-key", caKeyF.Name(), "-name", "test", "-ip", "1.1.1.1/24", "-out-crt", crtF.Name(), "-out-key", keyF.Name(), "-duration", "100m", "-subnets", "10.1.1.1/32, , 10.2.2.2/32 , , ,, 10.5.5.5/32", "-groups", "1,, 2 , ,,,3,4,5"}
|
|
|
+ require.EqualError(t, signCert(args, ob, eb, nopw), "error while parsing encrypted ca-key: invalid passphrase or corrupt private key")
|
|
|
+ assert.Empty(t, ob.String())
|
|
|
+ assert.Empty(t, eb.String())
|
|
|
+ os.Setenv("NEBULA_CA_PASSPHRASE", "")
|
|
|
+
|
|
|
// test with the user not entering a password
|
|
|
ob.Reset()
|
|
|
eb.Reset()
|