public void TestDecryptWithKeyFileImageFile() { Passphrase passphrase = Passphrase.Create("a", Resources.My_Key_File); using (V1AxCryptDocument document = new V1AxCryptDocument()) { bool keyIsOk = document.Load(passphrase, new V1Aes128CryptoFactory().CryptoId, FakeDataStore.ExpandableMemoryStream(Resources.Foto_2015_05_19_23_19_08__a____My_Keyfile_jpg)); Assert.That(keyIsOk, Is.True, "The passphrase provided is correct!"); using (MemoryStream plaintextStream = new MemoryStream()) { document.DecryptTo(plaintextStream); Assert.That(plaintextStream.Length, Is.EqualTo(260053), "Wrong length of decrypted JPG"); } } }
public void TestDecryptWithKeyFilePdfFile() { Passphrase passphrase = Passphrase.Create("b", Resources.My_Key_File); using (V1AxCryptDocument document = new V1AxCryptDocument()) { bool keyIsOk = document.Load(passphrase, new V1Aes128CryptoFactory().CryptoId, FakeDataStore.ExpandableMemoryStream(Resources._2003_05_28_PcWorld_AxCrypt__b____My_Keyfile_pdf)); Assert.That(keyIsOk, Is.True, "The passphrase provided is correct!"); using (MemoryStream plaintextStream = new MemoryStream()) { document.DecryptTo(plaintextStream); Assert.That(plaintextStream.Length, Is.EqualTo(132498), "Wrong length of decrypted PDF"); } } }
public void TestDecryptWithKeyFileShortTextFile() { Passphrase passphrase = Passphrase.Create("p", Resources.My_Key_File); using (V1AxCryptDocument document = new V1AxCryptDocument()) { bool keyIsOk = document.Load(passphrase, new V1Aes128CryptoFactory().CryptoId, FakeDataStore.ExpandableMemoryStream(Resources.Passphrase__p____My_Keyfile_txt)); Assert.That(keyIsOk, Is.True, "The passphrase provided is correct!"); using (MemoryStream plaintextStream = new MemoryStream()) { document.DecryptTo(plaintextStream); string text = Encoding.UTF8.GetString(plaintextStream.GetBuffer(), 0, (int)plaintextStream.Length); Assert.That(text, Is.EqualTo("asdfasdfasdf"), "Unexpected content of file."); } } }
public async Task AskForNewLogOnPassphraseAutomaticallyBecauseNoIdentitiesExists() { Resolve.FileSystemState.KnownPassphrases.Add(Passphrase.Create("aaa")); IdentityViewModel ivm = new IdentityViewModel(Resolve.FileSystemState, Resolve.KnownIdentities, Resolve.UserSettings, Resolve.SessionNotify); ivm.LoggingOnAsync = (e) => { e.Passphrase = new Passphrase("aaa"); e.Name = "New User Passphrase"; return(Task.FromResult <object>(null)); }; await ivm.AskForLogOnPassphrase.ExecuteAsync(LogOnIdentity.Empty); Assert.That(ivm.LogOnIdentity.Passphrase.Text, Is.EqualTo("aaa")); Assert.That(Resolve.KnownIdentities.DefaultEncryptionIdentity.Passphrase.Thumbprint, Is.EqualTo(new Passphrase("aaa").Thumbprint)); Passphrase id = Resolve.FileSystemState.KnownPassphrases.FirstOrDefault(i => i.Thumbprint == new Passphrase("aaa").Thumbprint); Assert.That(id.Thumbprint, Is.EqualTo(Resolve.KnownIdentities.DefaultEncryptionIdentity.Passphrase.Thumbprint)); }
public async Task TestLogOnLogOffWhenLoggedOffAndNoIdentities() { bool wasCreateNew = true; IdentityViewModel ivm = new IdentityViewModel(Resolve.FileSystemState, Resolve.KnownIdentities, Resolve.UserSettings, Resolve.SessionNotify); ivm.LoggingOnAsync = (e) => { wasCreateNew = e.IsAskingForPreviouslyUnknownPassphrase; e.Passphrase = new Passphrase("ccc"); e.Name = "New User Passphrase"; return(Task.FromResult <object>(null)); }; Resolve.FileSystemState.KnownPassphrases.Add(Passphrase.Create("ccc")); await ivm.LogOnLogOff.ExecuteAsync(null); Assert.That(wasCreateNew, Is.False, "Logging on event should not be with Create New set."); Assert.That(Resolve.KnownIdentities.IsLoggedOn, Is.True, "Should be logged on."); Assert.That(Resolve.KnownIdentities.DefaultEncryptionIdentity.Passphrase.Thumbprint, Is.EqualTo(new Passphrase("ccc").Thumbprint)); Assert.That(Resolve.FileSystemState.KnownPassphrases.Count(), Is.EqualTo(1)); }