private void ButtonOK_Click(object sender, RoutedEventArgs e) { try { if (!passwordBox.SecurePassword.IsEqualTo(passwordBoxConfirm.SecurePassword)) { MessageBox.Show($"{Properties.Resources.ERROR_PASSWORD_DOES_NOT_MATCH}", Title, MessageBoxButton.OK, MessageBoxImage.Warning); return; } if (passwordBox.SecurePassword.Length < 4) { MessageBox.Show($"{Properties.Resources.ERROR_PASSWORD_MIN_CHARS}", Title, MessageBoxButton.OK, MessageBoxImage.Warning); return; } SecurePassword = passwordBox.SecurePassword; PasswordRepository = new PasswordRepository(); PasswordRepository.Name = textBoxName.Text; PasswordRepository.Description = textBoxDescription.Text; keyDirCache.Set(PasswordRepository.Id, textBoxKeyDirectory.Text); DialogResult = true; Close(); } catch (Exception ex) { MessageBox.Show(string.Format(Properties.Resources.ERROR_OCCURRED_0, ex.Message), this.Title, MessageBoxButton.OK, MessageBoxImage.Error); } }
private void ButtonOK_Click(object sender, RoutedEventArgs e) { try { if (SecurePassword != null) { if (!SecurePassword.IsEqualTo(passwordBox.SecurePassword)) { MessageBox.Show(Properties.Resources.ERROR_WRONG_PASSWORD, Title, MessageBoxButton.OK, MessageBoxImage.Error); return; } } else { var keydir = textBoxKeyDirectory.Text; var id = textBoxKey.Text; bool oldFormat = false; if (!PasswordRepository.ExistKey(keydir, id)) { if (!PasswordRepository.MigrateKey(keydir, id, passwordBox.SecurePassword)) { MessageBox.Show( string.Format(Properties.Resources.ERROR_KEY_NOT_FOUND_0_1, id, keydir), Title, MessageBoxButton.OK, MessageBoxImage.Information); return; } oldFormat = true; } PasswordRepository = PasswordRepository.Read(repositoryFile, keydir, passwordBox.SecurePassword, oldFormat); // throws exception for wrong password (encoding fails) SecurePassword = passwordBox.SecurePassword; keyDirCache.Set(id, keydir); } DialogResult = true; Close(); } catch (ArgumentException) { MessageBox.Show(Properties.Resources.ERROR_INVALID_FORMAT, Title, MessageBoxButton.OK, MessageBoxImage.Error); } catch (Exception) { MessageBox.Show(Properties.Resources.ERROR_WRONG_PASSWORD, Title, MessageBoxButton.OK, MessageBoxImage.Error); } }
private void ChangeKeyDirectory() { try { if (passwordRepository == null) { return; } if (!ReenterPassword()) { return; } var keyDir = keyDirectoryCache.Get(passwordRepository.Id); var dlg = new System.Windows.Forms.FolderBrowserDialog() { Description = Properties.Resources.LABEL_SELECT_KEY_DIRECTORY, SelectedPath = keyDir }; if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (!string.Equals(keyDir, dlg.SelectedPath, StringComparison.InvariantCultureIgnoreCase)) { if (!ReenterPassword()) { return; } passwordRepository.MoveKey(keyDir, dlg.SelectedPath); keyDirectoryCache.Set(passwordRepository.Id, dlg.SelectedPath); } } } catch (Exception ex) { HandleError(ex); } }