public VaultStatus InitializeVault(VaultStatus vaultToInitialize, string password) { vaultToInitialize.VaultPassword = password; EncryptVault(vaultToInitialize); File.WriteAllText(vaultToInitialize.VaultFilePath, vaultToInitialize.EncryptedVault); vaultToInitialize.IsInitialized = true; return(vaultToInitialize); }
public VaultStatus DecryptVault(VaultStatus vaultToDecrypt, string password) { var decryptedVaultContents = AESThenHMAC.SimpleDecryptWithPassword(vaultToDecrypt.EncryptedVault, password); vaultToDecrypt.Vault = JsonConvert.DeserializeObject <SecretVault>(decryptedVaultContents); vaultToDecrypt.VaultPassword = password; vaultToDecrypt.IsUnlocked = true; return(vaultToDecrypt); }
public VaultStatus OpenVaultFile(string path) { var status = new VaultStatus(); if (File.Exists(path)) { var encryptedVault = File.ReadAllText(path); status.EncryptedVault = encryptedVault; status.IsInitialized = true; } status.VaultFilePath = path; return(status); }
public void EncryptVault(VaultStatus vaultToSave) { var contentToEncrypt = JsonConvert.SerializeObject(vaultToSave.Vault); vaultToSave.EncryptedVault = AESThenHMAC.SimpleEncryptWithPassword(contentToEncrypt, vaultToSave.VaultPassword); }