public void MismatchedVersionNumberOnRestoreThrowsException() { int versionNumber = 7777; WriteEncryptedKey(versionNumber); IKeyReader reader = new KeyReaderWriter(); ProtectedKey restoredKey = reader.Restore(stream, passphrase, DataProtectionScope.LocalMachine); }
public void MismatchedVersionNumbersThrowsException() { byte[] badVersionNumber = BitConverter.GetBytes(0xff); WriteKeyToStream(badVersionNumber); stream.Seek(0, SeekOrigin.Begin); KeyReaderWriter reader = new KeyReaderWriter(); ProtectedKey readKey = reader.Read(stream, DataProtectionScope.CurrentUser); }
public void SymmetricKeyCanBeRestoredAsUnprotectedKeyFromStream() { int versionNumber = KeyReaderWriter.versionNumber; WriteEncryptedKey(versionNumber); IKeyReader reader = new KeyReaderWriter(); byte[] restoredKey = reader.Restore(stream, passphrase); AssertHelpers.AssertArraysEqual(keyToBeArchived, restoredKey); }
public void SymmetricKeysCanBeRestoredFromStream() { int versionNumber = KeyReaderWriter.versionNumber; WriteEncryptedKey(versionNumber); IKeyReader reader = new KeyReaderWriter(); ProtectedKey restoredKey = reader.Restore(stream, passphrase, DataProtectionScope.LocalMachine); AssertHelpers.AssertArraysEqual(keyToBeArchived, restoredKey.DecryptedKey); }
public void CanReadProtectedKeyFromStream() { byte[] correctVersionNumber = BitConverter.GetBytes(KeyReaderWriter.versionNumber); WriteKeyToStream(correctVersionNumber); stream.Seek(0, SeekOrigin.Begin); KeyReaderWriter reader = new KeyReaderWriter(); ProtectedKey readKey = reader.Read(stream, DataProtectionScope.CurrentUser); AssertHelpers.AssertArraysEqual(symmetricAlgo.Key, readKey.DecryptedKey); }
public void KeysCanBeWrittenToStream() { ProtectedKey key = ProtectedKey.CreateFromEncryptedKey(encryptedKey, DataProtectionScope.CurrentUser); KeyReaderWriter writer = new KeyReaderWriter(); writer.Write(stream, key); stream.Seek(0, SeekOrigin.Begin); KeyReaderWriter reader = new KeyReaderWriter(); ProtectedKey readKey = reader.Read(stream, DataProtectionScope.CurrentUser); AssertHelpers.AssertArraysEqual(symmetricAlgo.Key, readKey.DecryptedKey); }
public void SymmetricKeysCanBeArchivedToStream() { byte[] keyToBeArchived = GenerateKeyToBeArchived(); ProtectedKey key = ProtectedKey.CreateFromPlaintextKey(keyToBeArchived, DataProtectionScope.LocalMachine); IKeyWriter writer = new KeyReaderWriter(); writer.Archive(stream, key, passphrase); stream.Seek(0, SeekOrigin.Begin); IKeyReader reader = new KeyReaderWriter(); ProtectedKey restoredKey = reader.Restore(stream, passphrase, DataProtectionScope.LocalMachine); AssertHelpers.AssertArraysEqual(keyToBeArchived, restoredKey.DecryptedKey); }