Пример #1
0
        public void Fails_password_capture_when_confirm_password_is_incorrect(string plaintext, string plaintextConfirm = null)
        {
            var capture = new PlaintextKeyCapture(plaintext, plaintextConfirm ?? $"{plaintext}wrong");

            unsafe
            {
                var result = KeyFileManager.TryCapturePassword("test", capture, Console.Out, Console.Error, out var password, out var passwordLength);
                Assert.False(result);
                Assert.True(password == default(byte *));
            }
        }
Пример #2
0
        public void Fails_password_capture_with_empty_confirm_password(string plaintext)
        {
            var capture = new PlaintextKeyCapture(plaintext, string.Empty);

            unsafe
            {
                var result = KeyFileManager.TryCapturePassword("test", capture, Console.Out, Console.Error,
                                                               out var password, out var passwordLength);
                Assert.False(result);
                Assert.NotEqual(plaintext.Length, passwordLength);
                NativeMethods.sodium_free(password);
            }
        }
Пример #3
0
        public void Succeeds_password_capture_when_password_is_confirmed_correctly(string plaintext,
                                                                                   string plaintextConfirm = null)
        {
            var capture = new PlaintextKeyCapture(plaintext, plaintextConfirm ?? plaintext);

            unsafe
            {
                var result = KeyFileManager.TryCapturePassword("test", capture, Console.Out, Console.Error,
                                                               out var password, out var passwordLength);
                Assert.True(result);
                Assert.Equal(plaintext.Length, passwordLength);
                NativeMethods.sodium_free(password);
            }
        }