Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 3
0
 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);
     }
 }