public static Vault Create(string name, byte[] key, string path = null) { var output = new Vault(name, key) { Header = VaultHeader.Create(), VaultPath = path == null ? Path.Combine(Environment.CurrentDirectory, name) : Path.GetFullPath(path + "/" + name) }; PrepareVault(output); return(output); }
public void WriterReaderVaultHeader() { const string targetPath = Preparations.TestFolderPath + "WriterReaderVaultHeader.td"; var key = CryptoRNG.GetRandomBytes(AesSizes.Key); var header = VaultHeader.Create(); using (var stream = new FileStream(targetPath, FileMode.Create, FileAccess.Write)) { var writer = new VaultHeaderWriter(header); writer.WriteTo(stream, key); } VaultHeader readHeader; using (var stream = new FileStream(targetPath, FileMode.Open, FileAccess.Read)) { readHeader = VaultHeaderReader.ReadFrom(stream); } Assert.IsTrue(readHeader.MasterPassword.GetDecryptedPassword(key).Item1); }