public static FavoriteConfigurationElement GetFavoriteUpdatedCopy(String connectionName, Boolean forceConsole, Boolean forceNewWindow, CredentialSet credential, bool isDatabaseFavorite) { FavoriteConfigurationElementCollection favorites = Settings.GetFavorites(isDatabaseFavorite); FavoriteConfigurationElement favorite = favorites[connectionName]; if (favorite == null) return null; favorite = (FavoriteConfigurationElement) favorite.Clone(); if (forceConsole) favorite.ConnectToConsole = true; if (forceNewWindow) favorite.NewWindow = true; if (credential != null) { favorite.XmlCredentialSetName = credential.Name; favorite.UserName = credential.Username; favorite.DomainName = credential.Domain; favorite.EncryptedPassword = credential.Password; } return favorite; }
private static List <CredentialSet> LoadKeePass() { try { var ioConnInfo = new KeePassLib.Serialization.IOConnectionInfo { Path = Main.Settings.Settings.KeePassPath }; var compKey = new KeePassLib.Keys.CompositeKey(); compKey.AddUserKey(new KeePassLib.Keys.KcpPassword(Main.Settings.Settings.KeePassPassword)); var db = new KeePassLib.PwDatabase(); db.Open(ioConnInfo, compKey, null); var entries = db.RootGroup.GetEntries(true); List <CredentialSet> list = new List <CredentialSet>(); foreach (var entry in entries) { string title = entry.Strings.ReadSafe("Title"); string userName = entry.Strings.ReadSafe("UserName"); string domain = entry.Strings.ReadSafe("Domain"); if (!string.IsNullOrEmpty(title) && !string.IsNullOrEmpty(userName)) { CredentialSet credentialSet = new CredentialSet { Name = title, Username = string.IsNullOrEmpty(domain) && userName.Contains("\\") ? userName.Split(new string[] { "\\" }, StringSplitOptions.None)[1] : userName, Domain = string.IsNullOrEmpty(domain) && userName.Contains("\\") ? userName.Split(new string[] { "\\" }, StringSplitOptions.None)[0] : domain, Password = entry.Strings.ReadSafe("Password") }; list.Add(credentialSet); string id = entry.Uuid.ToHexString(); if (!keyPassCredentialsById.ContainsKey(id)) { keyPassCredentialsById.Add(id, credentialSet); } } } db.Close(); return(list); } catch (Exception ex) { Log.Error("Error loading KeePass-File due to the following reason: " + ex.Message, ex); return(new List <CredentialSet>()); } }
private void FillControlsFromCredential(CredentialSet editedCredential) { if (editedCredential != null) { this.txtName.Text = editedCredential.Name; this.txtDomain.Text = editedCredential.Domain; this.txtUserName.Text = editedCredential.Username; if (!string.IsNullOrEmpty(editedCredential.Password)) this.txtPassword.Text = CredentialPanel.HIDDEN_PASSWORD; this.editedCredentialName = editedCredential.Name; } }
private void UpdateOldOrCreateNew(CredentialSet oldItem) { if (oldItem == null || this.editedCredentialName != this.txtName.Text) { CredentialSet newCredential = this.CreateNewCredential(); StoredCredentials.Add(newCredential); } else { this.UpdateFromControls(oldItem); } }
public static Credential ToCredential(this CredentialSet credential) { if (credential == null) { return(null); } return(new Credential() { Domain = credential.Domain, Password = credential.SecretKey, UserName = credential.Username, }); }
public ManageCredentialForm(CredentialSet editedCredential) { this.InitializeComponent(); this.FillControlsFromCredential(editedCredential); this.Text = AssemblyInfo.Title + " - " + "Credential manager"; this.txtPassword.PasswordChar = CredentialPanel.HIDDEN_PASSWORD_CHAR; if (Terminals.Configuration.Files.Main.Settings.Settings.CredentialStore == Terminals.Configuration.Files.Main.CredentialStoreType.KeePass) { SaveButton_cred.Enabled = false; } }
private void EditCredential(CredentialSet selected) { ManageCredentialForm mgr = new ManageCredentialForm(selected); if (mgr.ShowDialog() == DialogResult.OK) this.BindList(); }
public static void Add(CredentialSet toAdd) { if (String.IsNullOrEmpty(toAdd.Name)) return; cache.Add(toAdd); }
public static void Remove(CredentialSet toRemove) { cache.Remove(toRemove); }
private bool UpdateConflicting(CredentialSet conflicting, CredentialSet oldItem) { DialogResult result = MessageBox.Show("The credential name you entered already exists.\nDo you want to overwrite it?", "Credential manager", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result != DialogResult.Yes) return false; if (oldItem != null) { StoredCredentials.Remove(oldItem); } this.UpdateFromControls(conflicting); return true; }
private CredentialSet CreateNewCredential() { CredentialSet newItem = new CredentialSet(); this.UpdateFromControls(newItem); return newItem; }
private void UpdateFromControls(CredentialSet toUpdate) { toUpdate.Domain = this.txtDomain.Text; toUpdate.Name = this.txtName.Text; toUpdate.Username = this.txtUserName.Text; if (this.txtPassword.Text != CredentialPanel.HIDDEN_PASSWORD) toUpdate.SecretKey = this.txtPassword.Text; }
private static void UpdateFromvrDCredentials(vRDConfigurationFileCredentialsFolderCredentials source, CredentialSet target) { target.Domain = source.Domain; target.Name = source.Name; target.SecretKey = source.Password; target.Username = source.UserName; }
private void SaveCredentials(Dictionary<string, vRDConfigurationFileCredentialsFolderCredentials> credentials) { foreach (string guid in credentials.Keys) { vRDConfigurationFileCredentialsFolderCredentials toImport = credentials[guid]; //will store the last one if the same credential name CredentialSet destination = StoredCredentials.GetByName(toImport.Name); if (destination == null) { destination = new CredentialSet(); StoredCredentials.Add(destination); } UpdateFromvrDCredentials(toImport, destination); } StoredCredentials.Save(); }