public void ValidateNewPasswordReEnterTest() { SecureString string1 = new SecureString(); foreach (char c in validMasterPassword) { string1.AppendChar(c); } Authentification.NewMasterPassword(string1, true); Assert.IsFalse(viewModel.OnSubmitPassword()); CheckUIErrors("Current password cannot be empty!", Visibility.Visible); viewModel.CheckPassword = new PasswordString(string1); Assert.IsFalse(viewModel.OnSubmitPassword()); CheckUIErrors("", Visibility.Hidden, "New password cannot be empty!", Visibility.Visible); viewModel.NewPassword = new PasswordString(string1); Assert.IsFalse(viewModel.OnSubmitPassword()); CheckUIErrors("", Visibility.Hidden, "Cannot use current password as a new one!", Visibility.Visible); SecureString string2 = new SecureString(); foreach (char c in newPassword) { string2.AppendChar(c); } viewModel.NewPassword = new PasswordString(string2); Assert.IsFalse(viewModel.OnSubmitPassword()); CheckUIErrors("", Visibility.Hidden, "", Visibility.Hidden, "Please re-enter new password", Visibility.Visible); SecureString string3 = new SecureString(); foreach (char c in wrongPassword1) { string3.AppendChar(c); } viewModel.NewPasswordReEnter = new PasswordString(string3); Assert.IsFalse(viewModel.OnSubmitPassword()); CheckUIErrors("", Visibility.Hidden, "Passwords don't match!", Visibility.Visible, "Passwords don't match!", Visibility.Visible); viewModel.CheckPassword = new PasswordString(string3); viewModel.NewPasswordReEnter = new PasswordString(string2); Assert.IsFalse(viewModel.OnSubmitPassword()); CheckUIErrors("Current password is incorrect!", Visibility.Visible); SecureString string4 = new SecureString(); foreach (char c in wrongPassword2) { string4.AppendChar(c); } viewModel.CheckPassword = new PasswordString(string4); Assert.IsFalse(viewModel.OnSubmitPassword()); CheckUIErrors("Current password is incorrect!", Visibility.Visible); viewModel.CheckPassword = new PasswordString(string1); Assert.IsTrue(viewModel.OnSubmitPassword()); CheckUIErrors(); }
public void CheckMasterPasswordTest() { SecureString wrongPassword = new SecureString(); wrongPassword.AppendChar('c'); SecureString passwd = new SecureString(); foreach (char c in masterPassword.ToCharArray()) { passwd.AppendChar(c); } Authentification.NewMasterPassword(passwd, triggerCompleteEvent: true); PasswordObject oldAppPassword = new PasswordObject(); oldAppPassword.Password = Authentification.AppPassword.Password.Copy(); oldAppPassword.Salt = new byte[Authentification.AppPassword.Salt.Length]; Authentification.AppPassword.Salt.CopyTo(oldAppPassword.Salt, 0); Assert.IsFalse(Authentification.CheckMasterPassword(wrongPassword)); Assert.IsTrue(Authentification.CheckMasterPassword(passwd)); PasswordObject newAppPassword = new PasswordObject(); newAppPassword.Password = Authentification.AppPassword.Password.Copy(); newAppPassword.Salt = new byte[Authentification.AppPassword.Salt.Length]; Authentification.AppPassword.Salt.CopyTo(newAppPassword.Salt, 0); Assert.IsTrue(CheckAppPassword(oldAppPassword, newAppPassword)); Assert.IsTrue(Authentification.CheckMasterPassword(passwd, shortCheck: true)); Assert.IsTrue(CheckAppPassword(newAppPassword, Authentification.AppPassword)); }
public void OnSubmitPassword() { ClearValidationErrors(); if (ValidateNewPassword() && ValidateNewPasswordReEnter()) { Authentification.NewMasterPassword(NewPassword.Password); } }
public bool OnSubmitPassword() { ClearValidationErros(); string result = BasePasswordCheck(CheckPassword.Password, "Current"); if (!string.IsNullOrEmpty(result)) { CheckPasswordError = result; CheckPasswordErrorFrame = Visibility.Visible; return(false); } result = BasePasswordCheck(NewPassword.Password, "New"); if (!string.IsNullOrEmpty(result)) { NewPasswordError = result; NewPasswordErrorFrame = Visibility.Visible; return(false); } if (CheckPassword.Equals(NewPassword)) { NewPasswordError = "Cannot use current password as a new one!"; NewPasswordErrorFrame = Visibility.Visible; return(false); } if (!ValidateNewPasswordReEnter()) { return(false); } if (!Authentification.CheckMasterPassword(CheckPassword.Password, shortCheck: true)) { CheckPasswordError = "Current password is incorrect!"; CheckPasswordErrorFrame = Visibility.Visible; return(false); } Authentification.NewMasterPassword(NewPassword.Password, triggerCompleteEvent: true); OnPasswordUpdateComplete(); return(true); }