diff --git a/ModernKeePass.sln b/ModernKeePass.sln index c09d8de..7c9589a 100644 --- a/ModernKeePass.sln +++ b/ModernKeePass.sln @@ -7,11 +7,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernKeePassApp", "ModernK EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernKeePassLib", "ModernKeePassLib\ModernKeePassLib.csproj", "{2E710089-9559-4967-846C-E763DD1F3ACB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernKeePassLib.Test.old", "ModernKeePassLib.Test\ModernKeePassLib.Test.old.csproj", "{067456C0-086C-46A8-B37F-1405717B7BFC}" - ProjectSection(ProjectDependencies) = postProject - {2E710089-9559-4967-846C-E763DD1F3ACB} = {2E710089-9559-4967-846C-E763DD1F3ACB} - EndProjectSection -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModernKeePassLib.Test", "ModernKeePassLib.Test\ModernKeePassLib.Test.csproj", "{0A4279CF-2A67-4868-9906-052E50C25F3B}" EndProject Global @@ -66,22 +61,6 @@ Global {2E710089-9559-4967-846C-E763DD1F3ACB}.Release|x64.Build.0 = Release|Any CPU {2E710089-9559-4967-846C-E763DD1F3ACB}.Release|x86.ActiveCfg = Release|Any CPU {2E710089-9559-4967-846C-E763DD1F3ACB}.Release|x86.Build.0 = Release|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Debug|ARM.ActiveCfg = Debug|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Debug|ARM.Build.0 = Debug|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Debug|x64.ActiveCfg = Debug|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Debug|x64.Build.0 = Debug|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Debug|x86.ActiveCfg = Debug|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Debug|x86.Build.0 = Debug|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Release|Any CPU.Build.0 = Release|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Release|ARM.ActiveCfg = Release|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Release|ARM.Build.0 = Release|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Release|x64.ActiveCfg = Release|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Release|x64.Build.0 = Release|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Release|x86.ActiveCfg = Release|Any CPU - {067456C0-086C-46A8-B37F-1405717B7BFC}.Release|x86.Build.0 = Release|Any CPU {0A4279CF-2A67-4868-9906-052E50C25F3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {0A4279CF-2A67-4868-9906-052E50C25F3B}.Debug|Any CPU.Build.0 = Debug|Any CPU {0A4279CF-2A67-4868-9906-052E50C25F3B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU diff --git a/ModernKeePassLib.Test.old/Cryptography/Cipher/Chacha20Tests.cs b/ModernKeePassLib.Test.old/Cryptography/Cipher/Chacha20Tests.cs deleted file mode 100644 index 3641323..0000000 --- a/ModernKeePassLib.Test.old/Cryptography/Cipher/Chacha20Tests.cs +++ /dev/null @@ -1,204 +0,0 @@ -using System; -using System.Diagnostics; -using System.IO; -using ModernKeePassLib.Cryptography; -using ModernKeePassLib.Cryptography.Cipher; -using ModernKeePassLib.Utility; -using NUnit.Framework; - -namespace ModernKeePassLib.Test.Cryptography.Cipher -{ - [TestFixture] - public class Chacha20Tests - { - [Test] - public void TestChacha20() - { - // ====================================================== - // Test vector from RFC 7539, section 2.3.2 - - byte[] pbKey = new byte[32]; - for (int i = 0; i < 32; ++i) pbKey[i] = (byte)i; - - byte[] pbIV = new byte[12]; - pbIV[3] = 0x09; - pbIV[7] = 0x4A; - - byte[] pbExpc = new byte[64] { - 0x10, 0xF1, 0xE7, 0xE4, 0xD1, 0x3B, 0x59, 0x15, - 0x50, 0x0F, 0xDD, 0x1F, 0xA3, 0x20, 0x71, 0xC4, - 0xC7, 0xD1, 0xF4, 0xC7, 0x33, 0xC0, 0x68, 0x03, - 0x04, 0x22, 0xAA, 0x9A, 0xC3, 0xD4, 0x6C, 0x4E, - 0xD2, 0x82, 0x64, 0x46, 0x07, 0x9F, 0xAA, 0x09, - 0x14, 0xC2, 0xD7, 0x05, 0xD9, 0x8B, 0x02, 0xA2, - 0xB5, 0x12, 0x9C, 0xD1, 0xDE, 0x16, 0x4E, 0xB9, - 0xCB, 0xD0, 0x83, 0xE8, 0xA2, 0x50, 0x3C, 0x4E - }; - - byte[] pb = new byte[64]; - - using (ChaCha20Cipher c = new ChaCha20Cipher(pbKey, pbIV)) - { - c.Seek(64, SeekOrigin.Begin); // Skip first block - c.Encrypt(pb, 0, pb.Length); - - Assert.That(MemUtil.ArraysEqual(pb, pbExpc), Is.True); - } - -#if DEBUG - // ====================================================== - // Test vector from RFC 7539, section 2.4.2 - - pbIV[3] = 0; - - pb = StrUtil.Utf8.GetBytes("Ladies and Gentlemen of the clas" + - @"s of '99: If I could offer you only one tip for " + - @"the future, sunscreen would be it."); - - pbExpc = new byte[] { - 0x6E, 0x2E, 0x35, 0x9A, 0x25, 0x68, 0xF9, 0x80, - 0x41, 0xBA, 0x07, 0x28, 0xDD, 0x0D, 0x69, 0x81, - 0xE9, 0x7E, 0x7A, 0xEC, 0x1D, 0x43, 0x60, 0xC2, - 0x0A, 0x27, 0xAF, 0xCC, 0xFD, 0x9F, 0xAE, 0x0B, - 0xF9, 0x1B, 0x65, 0xC5, 0x52, 0x47, 0x33, 0xAB, - 0x8F, 0x59, 0x3D, 0xAB, 0xCD, 0x62, 0xB3, 0x57, - 0x16, 0x39, 0xD6, 0x24, 0xE6, 0x51, 0x52, 0xAB, - 0x8F, 0x53, 0x0C, 0x35, 0x9F, 0x08, 0x61, 0xD8, - 0x07, 0xCA, 0x0D, 0xBF, 0x50, 0x0D, 0x6A, 0x61, - 0x56, 0xA3, 0x8E, 0x08, 0x8A, 0x22, 0xB6, 0x5E, - 0x52, 0xBC, 0x51, 0x4D, 0x16, 0xCC, 0xF8, 0x06, - 0x81, 0x8C, 0xE9, 0x1A, 0xB7, 0x79, 0x37, 0x36, - 0x5A, 0xF9, 0x0B, 0xBF, 0x74, 0xA3, 0x5B, 0xE6, - 0xB4, 0x0B, 0x8E, 0xED, 0xF2, 0x78, 0x5E, 0x42, - 0x87, 0x4D - }; - - byte[] pb64 = new byte[64]; - - using (ChaCha20Cipher c = new ChaCha20Cipher(pbKey, pbIV)) - { - c.Encrypt(pb64, 0, pb64.Length); // Skip first block - c.Encrypt(pb, 0, pb.Length); - - Assert.That(MemUtil.ArraysEqual(pb, pbExpc), Is.True); - } - - // ====================================================== - // Test vector from RFC 7539, appendix A.2 #2 - - Array.Clear(pbKey, 0, pbKey.Length); - pbKey[31] = 1; - - Array.Clear(pbIV, 0, pbIV.Length); - pbIV[11] = 2; - - pb = StrUtil.Utf8.GetBytes("Any submission to the IETF inten" + - "ded by the Contributor for publication as all or" + - " part of an IETF Internet-Draft or RFC and any s" + - "tatement made within the context of an IETF acti" + - "vity is considered an \"IETF Contribution\". Such " + - "statements include oral statements in IETF sessi" + - "ons, as well as written and electronic communica" + - "tions made at any time or place, which are addressed to"); - - pbExpc = MemUtil.HexStringToByteArray( - "A3FBF07DF3FA2FDE4F376CA23E82737041605D9F4F4F57BD8CFF2C1D4B7955EC" + - "2A97948BD3722915C8F3D337F7D370050E9E96D647B7C39F56E031CA5EB6250D" + - "4042E02785ECECFA4B4BB5E8EAD0440E20B6E8DB09D881A7C6132F420E527950" + - "42BDFA7773D8A9051447B3291CE1411C680465552AA6C405B7764D5E87BEA85A" + - "D00F8449ED8F72D0D662AB052691CA66424BC86D2DF80EA41F43ABF937D3259D" + - "C4B2D0DFB48A6C9139DDD7F76966E928E635553BA76C5C879D7B35D49EB2E62B" + - "0871CDAC638939E25E8A1E0EF9D5280FA8CA328B351C3C765989CBCF3DAA8B6C" + - "CC3AAF9F3979C92B3720FC88DC95ED84A1BE059C6499B9FDA236E7E818B04B0B" + - "C39C1E876B193BFE5569753F88128CC08AAA9B63D1A16F80EF2554D7189C411F" + - "5869CA52C5B83FA36FF216B9C1D30062BEBCFD2DC5BCE0911934FDA79A86F6E6" + - "98CED759C3FF9B6477338F3DA4F9CD8514EA9982CCAFB341B2384DD902F3D1AB" + - "7AC61DD29C6F21BA5B862F3730E37CFDC4FD806C22F221"); - - using (MemoryStream msEnc = new MemoryStream()) - { - using (ChaCha20Stream c = new ChaCha20Stream(msEnc, true, pbKey, pbIV)) - { - Random r = CryptoRandom.NewWeakRandom(); - r.NextBytes(pb64); - c.Write(pb64, 0, pb64.Length); // Skip first block - - int p = 0; - while (p < pb.Length) - { - int cb = r.Next(1, pb.Length - p + 1); - c.Write(pb, p, cb); - p += cb; - } - Debug.Assert(p == pb.Length); - } - - byte[] pbEnc0 = msEnc.ToArray(); - byte[] pbEnc = MemUtil.Mid(pbEnc0, 64, pbEnc0.Length - 64); - Assert.That(MemUtil.ArraysEqual(pbEnc, pbExpc), Is.True); - - using (MemoryStream msCT = new MemoryStream(pbEnc0, false)) - { - using (ChaCha20Stream cDec = new ChaCha20Stream(msCT, false, - pbKey, pbIV)) - { - byte[] pbPT = MemUtil.Read(cDec, pbEnc0.Length); - - Assert.That(cDec.ReadByte(), Is.LessThan(0)); - Assert.That(MemUtil.ArraysEqual(MemUtil.Mid(pbPT, 0, 64), pb64), Is.True); - Assert.That(MemUtil.ArraysEqual(MemUtil.Mid(pbPT, 64, pbEnc.Length), pb), Is.True); - } - } - } - - // ====================================================== - // Test vector TC8 from RFC draft by J. Strombergson: - // https://tools.ietf.org/html/draft-strombergson-chacha-test-vectors-01 - - pbKey = new byte[32] { - 0xC4, 0x6E, 0xC1, 0xB1, 0x8C, 0xE8, 0xA8, 0x78, - 0x72, 0x5A, 0x37, 0xE7, 0x80, 0xDF, 0xB7, 0x35, - 0x1F, 0x68, 0xED, 0x2E, 0x19, 0x4C, 0x79, 0xFB, - 0xC6, 0xAE, 0xBE, 0xE1, 0xA6, 0x67, 0x97, 0x5D - }; - - // The first 4 bytes are set to zero and a large counter - // is used; this makes the RFC 7539 version of ChaCha20 - // compatible with the original specification by - // D. J. Bernstein. - pbIV = new byte[12] { 0x00, 0x00, 0x00, 0x00, - 0x1A, 0xDA, 0x31, 0xD5, 0xCF, 0x68, 0x82, 0x21 - }; - - pb = new byte[128]; - - pbExpc = new byte[128] { - 0xF6, 0x3A, 0x89, 0xB7, 0x5C, 0x22, 0x71, 0xF9, - 0x36, 0x88, 0x16, 0x54, 0x2B, 0xA5, 0x2F, 0x06, - 0xED, 0x49, 0x24, 0x17, 0x92, 0x30, 0x2B, 0x00, - 0xB5, 0xE8, 0xF8, 0x0A, 0xE9, 0xA4, 0x73, 0xAF, - 0xC2, 0x5B, 0x21, 0x8F, 0x51, 0x9A, 0xF0, 0xFD, - 0xD4, 0x06, 0x36, 0x2E, 0x8D, 0x69, 0xDE, 0x7F, - 0x54, 0xC6, 0x04, 0xA6, 0xE0, 0x0F, 0x35, 0x3F, - 0x11, 0x0F, 0x77, 0x1B, 0xDC, 0xA8, 0xAB, 0x92, - - 0xE5, 0xFB, 0xC3, 0x4E, 0x60, 0xA1, 0xD9, 0xA9, - 0xDB, 0x17, 0x34, 0x5B, 0x0A, 0x40, 0x27, 0x36, - 0x85, 0x3B, 0xF9, 0x10, 0xB0, 0x60, 0xBD, 0xF1, - 0xF8, 0x97, 0xB6, 0x29, 0x0F, 0x01, 0xD1, 0x38, - 0xAE, 0x2C, 0x4C, 0x90, 0x22, 0x5B, 0xA9, 0xEA, - 0x14, 0xD5, 0x18, 0xF5, 0x59, 0x29, 0xDE, 0xA0, - 0x98, 0xCA, 0x7A, 0x6C, 0xCF, 0xE6, 0x12, 0x27, - 0x05, 0x3C, 0x84, 0xE4, 0x9A, 0x4A, 0x33, 0x32 - }; - - using (ChaCha20Cipher c = new ChaCha20Cipher(pbKey, pbIV, true)) - { - c.Decrypt(pb, 0, pb.Length); - - Assert.That(MemUtil.ArraysEqual(pb, pbExpc), Is.True); - } -#endif - } - } -} \ No newline at end of file diff --git a/ModernKeePassLib.Test.old/Cryptography/Cipher/StandardAesEngineTests.cs b/ModernKeePassLib.Test.old/Cryptography/Cipher/StandardAesEngineTests.cs deleted file mode 100644 index cd775f5..0000000 --- a/ModernKeePassLib.Test.old/Cryptography/Cipher/StandardAesEngineTests.cs +++ /dev/null @@ -1,84 +0,0 @@ -using System; -using System.IO; -using System.Security; -using System.Text; -using ModernKeePassLib.Serialization; -using ModernKeePassLib.Utility; -#if KeePassLib -using KeePassLib.Cryptography.Cipher; -#else -using ModernKeePassLib.Cryptography.Cipher; -#endif - -using NUnit.Framework; -using Org.BouncyCastle.Crypto.Engines; -using Org.BouncyCastle.Crypto.Parameters; - -namespace ModernKeePassLib.Test.Cryptography.Cipher -{ - [TestFixture()] - public class StandardAesEngineTests - { - // Test vector (official ECB test vector #356) - private byte[] pbReferenceCT = new byte[16] { - 0x75, 0xD1, 0x1B, 0x0E, 0x3A, 0x68, 0xC4, 0x22, - 0x3D, 0x88, 0xDB, 0xF0, 0x17, 0x97, 0x7D, 0xD7 - }; - [Test] - public void TestEncryptStream() - { - byte[] pbIV = new byte[16]; - byte[] pbTestKey = new byte[32]; - byte[] pbTestData = new byte[16]; - pbTestData[0] = 0x04; - - var outStream = new MemoryStream(new byte[16]); - var aes = new StandardAesEngine(); - var inStream = aes.EncryptStream(outStream, pbTestKey, pbIV); - new BinaryWriter(inStream).Write(pbTestData); - //Assert.That(outStream.Position, Is.EqualTo(16)); - outStream.Position = 0; - var outBytes = new BinaryReaderEx(outStream, Encoding.UTF8, string.Empty).ReadBytes(16); - Assert.That(outBytes, Is.EqualTo(pbReferenceCT)); - } - - [Test] - public void TestDecryptStream() - { - byte[] pbIV = new byte[16]; - byte[] pbTestKey = new byte[32]; - byte[] pbTestData = new byte[16]; - pbTestData[0] = 0x04; - - // Possible Mono Bug? This only works with size >= 48 - var inStream = new MemoryStream(new byte[32]); - inStream.Write(pbReferenceCT, 0, pbReferenceCT.Length); - inStream.Position = 0; - var aes = new StandardAesEngine(); - var outStream = aes.DecryptStream(inStream, pbTestKey, pbIV); - var outBytes = new BinaryReaderEx(outStream, Encoding.UTF8, string.Empty).ReadBytes(16); - Assert.That(outBytes, Is.EqualTo(pbTestData)); - } - - [Test] - public void TestBouncyCastleAes() - { - byte[] pbIV = new byte[16]; - byte[] pbTestKey = new byte[32]; - byte[] pbTestData = new byte[16]; - /*int i; - for (i = 0; i < 16; ++i) pbIV[i] = 0; - for (i = 0; i < 32; ++i) pbTestKey[i] = 0; - for (i = 0; i < 16; ++i) pbTestData[i] = 0;*/ - pbTestData[0] = 0x04; - - var aesEngine = new AesEngine(); - //var parametersWithIv = new ParametersWithIV(new KeyParameter(pbTestKey), pbIV); - aesEngine.Init(true, new KeyParameter(pbTestKey)); - Assert.That(aesEngine.GetBlockSize(), Is.EqualTo(pbTestData.Length)); - aesEngine.ProcessBlock(pbTestData, 0, pbTestData, 0); - //Assert.That(MemUtil.ArraysEqual(pbTestData, pbReferenceCT), Is.False); - Assert.That(pbTestData, Is.EqualTo(pbReferenceCT)); - } - } -} diff --git a/ModernKeePassLib.Test.old/Cryptography/CryptoRandomStreamTests.cs b/ModernKeePassLib.Test.old/Cryptography/CryptoRandomStreamTests.cs deleted file mode 100644 index 75d3937..0000000 --- a/ModernKeePassLib.Test.old/Cryptography/CryptoRandomStreamTests.cs +++ /dev/null @@ -1,60 +0,0 @@ -using NUnit.Framework; -using System; - -#if KeePassLib -using KeePassLib.Cryptography; -#else -using ModernKeePassLib.Cryptography; -#endif - -namespace ModernKeePassLib.Test.Cryptography -{ - [TestFixture ()] - public class CryptoRandomStreamTests - { - void TestGetRandomBytes(CryptoRandomStream stream) - { - const uint length = 16; - var bytes1 = stream.GetRandomBytes (length); - Assert.That (bytes1.Length, Is.EqualTo (length)); - var bytes2 = stream.GetRandomBytes (length); - Assert.That (bytes2, Is.Not.EqualTo (bytes1)); - } - - [Test ()] - public void TestGetRandomBytesCrsAlgorithmSalsa20 () - { - var stream = new CryptoRandomStream (CrsAlgorithm.Salsa20, new byte[16]); - TestGetRandomBytes (stream); - } - - [Test ()] - public void TestGetRandomBytesCrsAlgorithmArcFourVariant () - { - var stream = new CryptoRandomStream (CrsAlgorithm.ArcFourVariant, new byte[16]); - TestGetRandomBytes (stream); - } - - void TestGetRandomInt64 (CryptoRandomStream stream) - { - var value1 = stream.GetRandomUInt64 (); - var value2 = stream.GetRandomUInt64 (); - Assert.That (value2, Is.Not.EqualTo (value1)); - } - - [Test ()] - public void TestGetRandomInt64AlgorithmSalsa20 () - { - var stream = new CryptoRandomStream (CrsAlgorithm.Salsa20, new byte[16]); - TestGetRandomInt64 (stream); - } - - [Test ()] - public void TestGetRandomInt64AlgorithmArcFourVariant () - { - var stream = new CryptoRandomStream (CrsAlgorithm.ArcFourVariant, new byte[16]); - TestGetRandomInt64 (stream); - } - } -} - diff --git a/ModernKeePassLib.Test.old/Cryptography/CryptoRandomTests.cs b/ModernKeePassLib.Test.old/Cryptography/CryptoRandomTests.cs deleted file mode 100644 index 32c6c2b..0000000 --- a/ModernKeePassLib.Test.old/Cryptography/CryptoRandomTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -using NUnit.Framework; -using System; - -#if KeePassLib -using KeePassLib.Cryptography; -#else -using ModernKeePassLib.Cryptography; -#endif - -namespace ModernKeePassLib.Test.Cryptography -{ - [TestFixture ()] - public class CryptoRandomTests - { - [Test ()] - public void TestAddEntropy () - { - // just making sure it does not throw an exception - CryptoRandom.Instance.AddEntropy (new byte[1]); - } - - [Test ()] - public void TestGetRandomBytes () - { - const int length = 32; - var bytes1 = CryptoRandom.Instance.GetRandomBytes (length); - Assert.That (bytes1.Length, Is.EqualTo (length)); - var bytes2 = CryptoRandom.Instance.GetRandomBytes (length); - Assert.That (bytes2, Is.Not.EqualTo (bytes1)); - } - - [Test ()] - public void TestGeneratedBytesCount () - { - const int length = 1; - CryptoRandom.Instance.GetRandomBytes (length); - var count1 = CryptoRandom.Instance.GeneratedBytesCount; - CryptoRandom.Instance.GetRandomBytes (length); - var count2 = CryptoRandom.Instance.GeneratedBytesCount; - Assert.That (count2, Is.GreaterThan (count1)); - } - } -} - diff --git a/ModernKeePassLib.Test.old/Cryptography/Hash/Blake2bTests.cs b/ModernKeePassLib.Test.old/Cryptography/Hash/Blake2bTests.cs deleted file mode 100644 index a91591e..0000000 --- a/ModernKeePassLib.Test.old/Cryptography/Hash/Blake2bTests.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.Text; -using ModernKeePassLib.Cryptography; -using ModernKeePassLib.Cryptography.Hash; -using ModernKeePassLib.Utility; -using NUnit.Framework; - -namespace ModernKeePassLib.Test.Cryptography.Hash -{ - [TestFixture] - public class Blake2bTests - { - [Test] - public void TestBlake2b() - { - Blake2b h = new Blake2b(); - - // ====================================================== - // From https://tools.ietf.org/html/rfc7693 - - byte[] pbData = StrUtil.Utf8.GetBytes("abc"); - byte[] pbExpc = new byte[64] { - 0xBA, 0x80, 0xA5, 0x3F, 0x98, 0x1C, 0x4D, 0x0D, - 0x6A, 0x27, 0x97, 0xB6, 0x9F, 0x12, 0xF6, 0xE9, - 0x4C, 0x21, 0x2F, 0x14, 0x68, 0x5A, 0xC4, 0xB7, - 0x4B, 0x12, 0xBB, 0x6F, 0xDB, 0xFF, 0xA2, 0xD1, - 0x7D, 0x87, 0xC5, 0x39, 0x2A, 0xAB, 0x79, 0x2D, - 0xC2, 0x52, 0xD5, 0xDE, 0x45, 0x33, 0xCC, 0x95, - 0x18, 0xD3, 0x8A, 0xA8, 0xDB, 0xF1, 0x92, 0x5A, - 0xB9, 0x23, 0x86, 0xED, 0xD4, 0x00, 0x99, 0x23 - }; - - byte[] pbC = h.ComputeHash(pbData); - Assert.That(MemUtil.ArraysEqual(pbC, pbExpc), Is.True); - - // ====================================================== - // Computed using the official b2sum tool - - pbExpc = new byte[64] { - 0x78, 0x6A, 0x02, 0xF7, 0x42, 0x01, 0x59, 0x03, - 0xC6, 0xC6, 0xFD, 0x85, 0x25, 0x52, 0xD2, 0x72, - 0x91, 0x2F, 0x47, 0x40, 0xE1, 0x58, 0x47, 0x61, - 0x8A, 0x86, 0xE2, 0x17, 0xF7, 0x1F, 0x54, 0x19, - 0xD2, 0x5E, 0x10, 0x31, 0xAF, 0xEE, 0x58, 0x53, - 0x13, 0x89, 0x64, 0x44, 0x93, 0x4E, 0xB0, 0x4B, - 0x90, 0x3A, 0x68, 0x5B, 0x14, 0x48, 0xB7, 0x55, - 0xD5, 0x6F, 0x70, 0x1A, 0xFE, 0x9B, 0xE2, 0xCE - }; - - pbC = h.ComputeHash(MemUtil.EmptyByteArray); - Assert.That(MemUtil.ArraysEqual(pbC, pbExpc), Is.True); - - // ====================================================== - // Computed using the official b2sum tool - - string strS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.:,;_-\r\n"; - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < 1000; ++i) sb.Append(strS); - pbData = StrUtil.Utf8.GetBytes(sb.ToString()); - - pbExpc = new byte[64] { - 0x59, 0x69, 0x8D, 0x3B, 0x83, 0xF4, 0x02, 0x4E, - 0xD8, 0x99, 0x26, 0x0E, 0xF4, 0xE5, 0x9F, 0x20, - 0xDC, 0x31, 0xEE, 0x5B, 0x45, 0xEA, 0xBB, 0xFC, - 0x1C, 0x0A, 0x8E, 0xED, 0xAA, 0x7A, 0xFF, 0x50, - 0x82, 0xA5, 0x8F, 0xBC, 0x4A, 0x46, 0xFC, 0xC5, - 0xEF, 0x44, 0x4E, 0x89, 0x80, 0x7D, 0x3F, 0x1C, - 0xC1, 0x94, 0x45, 0xBB, 0xC0, 0x2C, 0x95, 0xAA, - 0x3F, 0x08, 0x8A, 0x93, 0xF8, 0x75, 0x91, 0xB0 - }; - - Random r = CryptoRandom.NewWeakRandom(); - int p = 0; - while (p < pbData.Length) - { - int cb = r.Next(1, pbData.Length - p + 1); - h.TransformBlock(pbData, p, cb, pbData, p); - p += cb; - } - Assert.That(p, Is.EqualTo(pbData.Length)); - - h.TransformFinalBlock(MemUtil.EmptyByteArray, 0, 0); - - Assert.That(MemUtil.ArraysEqual(h.Hash, pbExpc), Is.True); - - h.Clear(); - } - } -} \ No newline at end of file diff --git a/ModernKeePassLib.Test.old/Cryptography/Hash/HmacTests.cs b/ModernKeePassLib.Test.old/Cryptography/Hash/HmacTests.cs deleted file mode 100644 index 92d75a1..0000000 --- a/ModernKeePassLib.Test.old/Cryptography/Hash/HmacTests.cs +++ /dev/null @@ -1,117 +0,0 @@ -using ModernKeePassLib.Cryptography; -using ModernKeePassLib.Cryptography.Hash; -using ModernKeePassLib.Utility; -using NUnit.Framework; - -namespace ModernKeePassLib.Test.Cryptography.Hash -{ - [TestFixture] - public class HmacTests - { - [Test] - public void TestHmac1() - { - // Test vectors from RFC 4231 - - var pbKey = new byte[20]; - for (var i = 0; i < pbKey.Length; ++i) pbKey[i] = 0x0B; - var pbMsg = StrUtil.Utf8.GetBytes("Hi There"); - var pbExpc = new byte[] - { - 0xB0, 0x34, 0x4C, 0x61, 0xD8, 0xDB, 0x38, 0x53, - 0x5C, 0xA8, 0xAF, 0xCE, 0xAF, 0x0B, 0xF1, 0x2B, - 0x88, 0x1D, 0xC2, 0x00, 0xC9, 0x83, 0x3D, 0xA7, - 0x26, 0xE9, 0x37, 0x6C, 0x2E, 0x32, 0xCF, 0xF7 - }; - HmacEval(pbKey, pbMsg, pbExpc); - } - - [Test] - public void TestHmac2() - { - var pbKey = new byte[131]; - for (var i = 0; i < pbKey.Length; ++i) pbKey[i] = 0xAA; - var pbMsg = StrUtil.Utf8.GetBytes( - "This is a test using a larger than block-size key and " + - "a larger than block-size data. The key needs to be " + - "hashed before being used by the HMAC algorithm."); - var pbExpc = new byte[] { - 0x9B, 0x09, 0xFF, 0xA7, 0x1B, 0x94, 0x2F, 0xCB, - 0x27, 0x63, 0x5F, 0xBC, 0xD5, 0xB0, 0xE9, 0x44, - 0xBF, 0xDC, 0x63, 0x64, 0x4F, 0x07, 0x13, 0x93, - 0x8A, 0x7F, 0x51, 0x53, 0x5C, 0x3A, 0x35, 0xE2 - }; - HmacEval(pbKey, pbMsg, pbExpc); - } - - [Test] - public void TestHmacSha1ComputeHash() - { - var expectedHash = "AC2C2E614882CE7158F69B7E3B12114465945D01"; - var message = StrUtil.Utf8.GetBytes("testing123"); - var key = StrUtil.Utf8.GetBytes("hello"); - using (var result = new HMACSHA1(key)) - { - Assert.That(ByteToString(result.ComputeHash(message)), Is.EqualTo(expectedHash)); - } - } - - [Test] - public void TestHmacSha256ComputeHash() - { - var expectedHash = "09C1BD2DE4E5659C0EFAF9E6AE4723E9CF96B69609B4E562F6AFF1745D7BF4E0"; - var message = StrUtil.Utf8.GetBytes("testing123"); - var key = StrUtil.Utf8.GetBytes("hello"); - using (var result = new HMACSHA256(key)) - { - Assert.That(ByteToString(result.ComputeHash(message)), Is.EqualTo(expectedHash)); - } - } - - private static string ByteToString(byte[] buff) - { - string sbinary = ""; - - for (int i = 0; i < buff.Length; i++) - { - sbinary += buff[i].ToString("X2"); // hex format - } - return (sbinary); - } - - [Test] - public void TestHmacOtp() - { - var pbSecret = StrUtil.Utf8.GetBytes("12345678901234567890"); - var vExp = new []{ "755224", "287082", "359152", - "969429", "338314", "254676", "287922", "162583", "399871", - "520489" }; - - for (var i = 0; i < vExp.Length; ++i) - { - Assert.That(HmacOtp.Generate(pbSecret, (ulong)i, 6, false, -1), Is.EqualTo(vExp[i])); - } - } - - private static void HmacEval(byte[] pbKey, byte[] pbMsg, - byte[] pbExpc) - { - using (var h = new HMACSHA256(pbKey)) - { - h.TransformBlock(pbMsg, 0, pbMsg.Length, pbMsg, 0); - h.TransformFinalBlock(MemUtil.EmptyByteArray, 0, 0); - - byte[] pbHash = h.Hash; - Assert.That(MemUtil.ArraysEqual(pbHash, pbExpc), Is.True); - - // Reuse the object - h.Initialize(); - h.TransformBlock(pbMsg, 0, pbMsg.Length, pbMsg, 0); - h.TransformFinalBlock(MemUtil.EmptyByteArray, 0, 0); - - pbHash = h.Hash; - Assert.That(MemUtil.ArraysEqual(pbHash, pbExpc), Is.True); - } - } - } -} \ No newline at end of file diff --git a/ModernKeePassLib.Test.old/Cryptography/Hash/SHAManagedTests.cs b/ModernKeePassLib.Test.old/Cryptography/Hash/SHAManagedTests.cs deleted file mode 100644 index 25c55f8..0000000 --- a/ModernKeePassLib.Test.old/Cryptography/Hash/SHAManagedTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using ModernKeePassLib.Cryptography.Hash; -using ModernKeePassLib.Utility; -using NUnit.Framework; - -namespace ModernKeePassLib.Test.Cryptography.Hash -{ - [TestFixture] - public class SHAManagedTests - { - [Test] - public void TestSha256ComputeHash() - { - var expectedHash = "B822F1CD2DCFC685B47E83E3980289FD5D8E3FF3A82DEF24D7D1D68BB272EB32"; - var message = StrUtil.Utf8.GetBytes("testing123"); - using (var result = new SHA256Managed()) - { - Assert.That(ByteToString(result.ComputeHash(message)), Is.EqualTo(expectedHash)); - } - } - - [Test] - public void TestSha512ComputeHash() - { - var expectedHash = "4120117B3190BA5E24044732B0B09AA9ED50EB1567705ABCBFA78431A4E0A96B1152ED7F4925966B1C82325E186A8100E692E6D2FCB6702572765820D25C7E9E"; - var message = StrUtil.Utf8.GetBytes("testing123"); - using (var result = new SHA512Managed()) - { - Assert.That(ByteToString(result.ComputeHash(message)), Is.EqualTo(expectedHash)); - } - } - private static string ByteToString(byte[] buff) - { - string sbinary = ""; - - for (int i = 0; i < buff.Length; i++) - { - sbinary += buff[i].ToString("X2"); // hex format - } - return (sbinary); - } - } -} \ No newline at end of file diff --git a/ModernKeePassLib.Test.old/Cryptography/HashingStreamExTests.cs b/ModernKeePassLib.Test.old/Cryptography/HashingStreamExTests.cs deleted file mode 100644 index cb0c48f..0000000 --- a/ModernKeePassLib.Test.old/Cryptography/HashingStreamExTests.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System.IO; -using NUnit.Framework; - -using ModernKeePassLib.Cryptography; - -namespace ModernKeePassLib.Test.Cryptography -{ - [TestFixture ()] - public class HashingStreamExTests - { - const string data = "test"; - - // The expected hash includes the \n added by WriteLine - static readonly byte[] sha256HashOfData = { - 0xf2, 0xca, 0x1b, 0xb6, 0xc7, 0xe9, 0x07, 0xd0, - 0x6d, 0xaf, 0xe4, 0x68, 0x7e, 0x57, 0x9f, 0xce, - 0x76, 0xb3, 0x7e, 0x4e, 0x93, 0xb7, 0x60, 0x50, - 0x22, 0xda, 0x52, 0xe6, 0xcc, 0xc2, 0x6f, 0xd2 - }; - - [Test ()] - public void TestRead () - { - // if we use larger size, StreamReader will read past newline and cause bad hash - var bytes = new byte[data.Length + 1]; - using (var ms = new MemoryStream (bytes)) { - using (var sw = new StreamWriter (ms)) { - // set NewLine to ensure we don't run into cross-platform issues on Windows - sw.NewLine = "\n"; - sw.WriteLine (data); - } - } - using (var ms = new MemoryStream (bytes)) { - using (var hs = new HashingStreamEx (ms, false, null)) { - using (var sr = new StreamReader (hs)) { - var read = sr.ReadLine (); - Assert.That (read, Is.EqualTo (data)); - } - // When the StreamReader is disposed, it calls Dispose on the - //HasingStreamEx, which computes the hash. - Assert.That (hs.Hash, Is.EqualTo (sha256HashOfData)); - } - } - } - - [Test ()] - public void TestWrite () - { - var bytes = new byte[16]; - using (var ms = new MemoryStream (bytes)) { - using (var hs = new HashingStreamEx (ms, true, null)) { - using (var sw = new StreamWriter (hs)) { - // set NewLine to ensure we don't run into cross-platform issues on Windows - sw.NewLine = "\n"; - sw.WriteLine (data); - } - // When the StreamWriter is disposed, it calls Dispose on the - //HasingStreamEx, which computes the hash. - Assert.That (hs.Hash, Is.EqualTo (sha256HashOfData)); - } - } - using (var ms = new MemoryStream (bytes)) { - using (var sr = new StreamReader (ms)) { - var read = sr.ReadLine (); - Assert.That (read, Is.EqualTo (data)); - } - } - } - } -} - diff --git a/ModernKeePassLib.Test.old/Cryptography/HmacOtpTests.cs b/ModernKeePassLib.Test.old/Cryptography/HmacOtpTests.cs deleted file mode 100644 index 0892c6d..0000000 --- a/ModernKeePassLib.Test.old/Cryptography/HmacOtpTests.cs +++ /dev/null @@ -1,36 +0,0 @@ -using NUnit.Framework; -using System; -using System.Text; - -#if KeePassLib -using KeePassLib.Cryptography; -#else -using ModernKeePassLib.Cryptography; -#endif - -namespace ModernKeePassLib.Test.Cryptography -{ - [TestFixture ()] - public class HmacOtpTests - { - // Using the test case from Appendix D of RFC 4226 - - const string secret = "12345678901234567890"; - static readonly string[] expectedHOTP = new string[] { - "755224", "287082", "359152", "969429", "338314", - "254676", "287922", "162583", "399871", "520489" - }; - - [Test ()] - public void TestGenerate () - { - var secretBytes = Encoding.UTF8.GetBytes (secret); - - for (ulong i = 0; i < 10; i++) { - var hotp = HmacOtp.Generate (secretBytes, i, 6, false, -1); - Assert.That (hotp, Is.EqualTo (expectedHOTP[i])); - } - } - } -} - diff --git a/ModernKeePassLib.Test.old/Cryptography/KeyDerivation/AesKdfTests.cs b/ModernKeePassLib.Test.old/Cryptography/KeyDerivation/AesKdfTests.cs deleted file mode 100644 index b43aa71..0000000 --- a/ModernKeePassLib.Test.old/Cryptography/KeyDerivation/AesKdfTests.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System; -using ModernKeePassLib.Cryptography; -using ModernKeePassLib.Cryptography.KeyDerivation; -using ModernKeePassLib.Utility; -using NUnit.Framework; - -namespace ModernKeePassLib.Test.Cryptography.KeyDerivation -{ - [TestFixture] - public class AesKdfTests - { - [Test] - public void TestAesKdf() - { - // Up to KeePass 2.34, the OtpKeyProv plugin used the public - // CompositeKey.TransformKeyManaged method (and a finalizing - // SHA-256 computation), which became an internal method of - // the AesKdf class in KeePass 2.35, thus OtpKeyProv now - // uses the AesKdf class; here we ensure that the results - // are the same - var r = CryptoRandom.NewWeakRandom(); - var pbKey = new byte[32]; - r.NextBytes(pbKey); - var pbSeed = new byte[32]; - r.NextBytes(pbSeed); - var uRounds = (ulong)r.Next(1, 0x7FFF); - - var pbMan = new byte[pbKey.Length]; - Array.Copy(pbKey, pbMan, pbKey.Length); - Assert.That(AesKdf.TransformKeyManaged(pbMan, pbSeed, uRounds), Is.True); - pbMan = CryptoUtil.HashSha256(pbMan); - - var kdf = new AesKdf(); - var p = kdf.GetDefaultParameters(); - p.SetUInt64(AesKdf.ParamRounds, uRounds); - p.SetByteArray(AesKdf.ParamSeed, pbSeed); - var pbKdf = kdf.Transform(pbKey, p); - - Assert.That(MemUtil.ArraysEqual(pbMan, pbKdf), Is.True); - } - } -} \ No newline at end of file diff --git a/ModernKeePassLib.Test.old/Cryptography/KeyDerivation/Argon2Tests.cs b/ModernKeePassLib.Test.old/Cryptography/KeyDerivation/Argon2Tests.cs deleted file mode 100644 index 44c34ff..0000000 --- a/ModernKeePassLib.Test.old/Cryptography/KeyDerivation/Argon2Tests.cs +++ /dev/null @@ -1,145 +0,0 @@ -using ModernKeePassLib.Cryptography.KeyDerivation; -using ModernKeePassLib.Utility; -using NUnit.Framework; - -namespace ModernKeePassLib.Test.Cryptography.KeyDerivation -{ - [TestFixture] - public class Argon2Tests - { - [Test] - public void TestArgon2() - { - Argon2Kdf kdf = new Argon2Kdf(); - - // ====================================================== - // From the official Argon2 1.3 reference code package - // (test vector for Argon2d 1.3); also on - // https://tools.ietf.org/html/draft-irtf-cfrg-argon2-00 - - var p = kdf.GetDefaultParameters(); - kdf.Randomize(p); - - Assert.That(p.GetUInt32(Argon2Kdf.ParamVersion, 0), Is.EqualTo(0x13U)); - - byte[] pbMsg = new byte[32]; - for (int i = 0; i < pbMsg.Length; ++i) pbMsg[i] = 1; - - p.SetUInt64(Argon2Kdf.ParamMemory, 32 * 1024); - p.SetUInt64(Argon2Kdf.ParamIterations, 3); - p.SetUInt32(Argon2Kdf.ParamParallelism, 4); - - byte[] pbSalt = new byte[16]; - for (int i = 0; i < pbSalt.Length; ++i) pbSalt[i] = 2; - p.SetByteArray(Argon2Kdf.ParamSalt, pbSalt); - - byte[] pbKey = new byte[8]; - for (int i = 0; i < pbKey.Length; ++i) pbKey[i] = 3; - p.SetByteArray(Argon2Kdf.ParamSecretKey, pbKey); - - byte[] pbAssoc = new byte[12]; - for (int i = 0; i < pbAssoc.Length; ++i) pbAssoc[i] = 4; - p.SetByteArray(Argon2Kdf.ParamAssocData, pbAssoc); - - byte[] pbExpc = new byte[32] { - 0x51, 0x2B, 0x39, 0x1B, 0x6F, 0x11, 0x62, 0x97, - 0x53, 0x71, 0xD3, 0x09, 0x19, 0x73, 0x42, 0x94, - 0xF8, 0x68, 0xE3, 0xBE, 0x39, 0x84, 0xF3, 0xC1, - 0xA1, 0x3A, 0x4D, 0xB9, 0xFA, 0xBE, 0x4A, 0xCB - }; - - byte[] pb = kdf.Transform(pbMsg, p); - - Assert.That(MemUtil.ArraysEqual(pb, pbExpc), Is.True); - - // ====================================================== - // From the official Argon2 1.3 reference code package - // (test vector for Argon2d 1.0) - - p.SetUInt32(Argon2Kdf.ParamVersion, 0x10); - - pbExpc = new byte[32] { - 0x96, 0xA9, 0xD4, 0xE5, 0xA1, 0x73, 0x40, 0x92, - 0xC8, 0x5E, 0x29, 0xF4, 0x10, 0xA4, 0x59, 0x14, - 0xA5, 0xDD, 0x1F, 0x5C, 0xBF, 0x08, 0xB2, 0x67, - 0x0D, 0xA6, 0x8A, 0x02, 0x85, 0xAB, 0xF3, 0x2B - }; - - pb = kdf.Transform(pbMsg, p); - - Assert.That(MemUtil.ArraysEqual(pb, pbExpc), Is.True); - - // ====================================================== - // From the official 'phc-winner-argon2-20151206.zip' - // (test vector for Argon2d 1.0) - - p.SetUInt64(Argon2Kdf.ParamMemory, 16 * 1024); - - pbExpc = new byte[32] { - 0x57, 0xB0, 0x61, 0x3B, 0xFD, 0xD4, 0x13, 0x1A, - 0x0C, 0x34, 0x88, 0x34, 0xC6, 0x72, 0x9C, 0x2C, - 0x72, 0x29, 0x92, 0x1E, 0x6B, 0xBA, 0x37, 0x66, - 0x5D, 0x97, 0x8C, 0x4F, 0xE7, 0x17, 0x5E, 0xD2 - }; - - pb = kdf.Transform(pbMsg, p); - - Assert.That(MemUtil.ArraysEqual(pb, pbExpc), Is.True); - - // ====================================================== - // Computed using the official 'argon2' application - // (test vectors for Argon2d 1.3) - - p = kdf.GetDefaultParameters(); - - pbMsg = StrUtil.Utf8.GetBytes("ABC1234"); - - p.SetUInt64(Argon2Kdf.ParamMemory, (1 << 11) * 1024); // 2 MB - p.SetUInt64(Argon2Kdf.ParamIterations, 2); - p.SetUInt32(Argon2Kdf.ParamParallelism, 2); - - pbSalt = StrUtil.Utf8.GetBytes("somesalt"); - p.SetByteArray(Argon2Kdf.ParamSalt, pbSalt); - - pbExpc = new byte[32] { - 0x29, 0xCB, 0xD3, 0xA1, 0x93, 0x76, 0xF7, 0xA2, - 0xFC, 0xDF, 0xB0, 0x68, 0xAC, 0x0B, 0x99, 0xBA, - 0x40, 0xAC, 0x09, 0x01, 0x73, 0x42, 0xCE, 0xF1, - 0x29, 0xCC, 0xA1, 0x4F, 0xE1, 0xC1, 0xB7, 0xA3 - }; - - pb = kdf.Transform(pbMsg, p); - - Assert.That(MemUtil.ArraysEqual(pb, pbExpc), Is.True); - - p.SetUInt64(Argon2Kdf.ParamMemory, (1 << 10) * 1024); // 1 MB - p.SetUInt64(Argon2Kdf.ParamIterations, 3); - - pbExpc = new byte[32] { - 0x7A, 0xBE, 0x1C, 0x1C, 0x8D, 0x7F, 0xD6, 0xDC, - 0x7C, 0x94, 0x06, 0x3E, 0xD8, 0xBC, 0xD8, 0x1C, - 0x2F, 0x87, 0x84, 0x99, 0x12, 0x83, 0xFE, 0x76, - 0x00, 0x64, 0xC4, 0x58, 0xA4, 0xDA, 0x35, 0x70 - }; - - pb = kdf.Transform(pbMsg, p); - - Assert.That(MemUtil.ArraysEqual(pb, pbExpc), Is.True); - - p.SetUInt64(Argon2Kdf.ParamMemory, (1 << 20) * 1024); // 1 GB - p.SetUInt64(Argon2Kdf.ParamIterations, 2); - p.SetUInt32(Argon2Kdf.ParamParallelism, 3); - - pbExpc = new byte[32] { - 0xE6, 0xE7, 0xCB, 0xF5, 0x5A, 0x06, 0x93, 0x05, - 0x32, 0xBA, 0x86, 0xC6, 0x1F, 0x45, 0x17, 0x99, - 0x65, 0x41, 0x77, 0xF9, 0x30, 0x55, 0x9A, 0xE8, - 0x3D, 0x21, 0x48, 0xC6, 0x2D, 0x0C, 0x49, 0x11 - }; - - pb = kdf.Transform(pbMsg, p); - - Assert.That(MemUtil.ArraysEqual(pb, pbExpc), Is.True); - } - } -} \ No newline at end of file diff --git a/ModernKeePassLib.Test.old/Keys/CompositeKeyTests.cs b/ModernKeePassLib.Test.old/Keys/CompositeKeyTests.cs deleted file mode 100644 index ed5118c..0000000 --- a/ModernKeePassLib.Test.old/Keys/CompositeKeyTests.cs +++ /dev/null @@ -1,33 +0,0 @@ -using NUnit.Framework; -using ModernKeePassLib.Cryptography.KeyDerivation; -using ModernKeePassLib.Keys; - -namespace ModernKeePassLib.Test.Keys -{ - [TestFixture ()] - public class CompositeKeyTests - { - [Test] - public void TestGenerateKey32 () - { - var originalKey = new byte[32]; - var expectedKey = new byte[32] { - 0xF0, 0xED, 0x57, 0xD5, 0xF0, 0xDA, 0xF3, 0x47, - 0x90, 0xD0, 0xDB, 0x43, 0x25, 0xC6, 0x81, 0x2C, - 0x81, 0x6A, 0x0D, 0x94, 0x96, 0xA9, 0x03, 0xE1, - 0x20, 0xD4, 0x3A, 0x3E, 0x45, 0xAD, 0x02, 0x65 - }; - const ulong rounds = 1; - - var composite = new CompositeKey (); - AesKdf kdf = new AesKdf(); - KdfParameters p = kdf.GetDefaultParameters(); - p.SetUInt64(AesKdf.ParamRounds, rounds); - p.SetByteArray(AesKdf.ParamSeed, originalKey); - var key = composite.GenerateKey32(p); - Assert.That (key, Is.Not.Null); - var keyData = key.ReadData (); - Assert.That (keyData, Is.EqualTo (expectedKey)); - } - } -} diff --git a/ModernKeePassLib.Test.old/Keys/KcpCustomKeyTests.cs b/ModernKeePassLib.Test.old/Keys/KcpCustomKeyTests.cs deleted file mode 100644 index ecacde5..0000000 --- a/ModernKeePassLib.Test.old/Keys/KcpCustomKeyTests.cs +++ /dev/null @@ -1,39 +0,0 @@ -using NUnit.Framework; -using System; - -#if KeePassLib -using KeePassLib.Keys; -#else -using ModernKeePassLib.Keys; -#endif - -namespace ModernKeePassLib.Test.Keys -{ - [TestFixture ()] - public class KcpCustomKeyTests - { - static readonly byte[] testData = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - - [Test ()] - public void TestConstruct () - { - var expectedHash = new byte[32] { - 0xAF, 0x55, 0x70, 0xF5, 0xA1, 0x81, 0x0B, 0x7A, - 0xF7, 0x8C, 0xAF, 0x4B, 0xC7, 0x0A, 0x66, 0x0F, - 0x0D, 0xF5, 0x1E, 0x42, 0xBA, 0xF9, 0x1D, 0x4D, - 0xE5, 0xB2, 0x32, 0x8D, 0xE0, 0xE8, 0x3D, 0xFC - }; - - var key = new KcpCustomKey ("test1", testData, false); - var keyData = key.KeyData.ReadData (); - Assert.That (keyData, Is.EqualTo (testData)); - - key = new KcpCustomKey ("test2", testData, true); - keyData = key.KeyData.ReadData (); - Assert.That (keyData, Is.EqualTo (expectedHash)); - } - } -} - diff --git a/ModernKeePassLib.Test.old/Keys/KcpKeyFileTests.cs b/ModernKeePassLib.Test.old/Keys/KcpKeyFileTests.cs deleted file mode 100644 index 06e4c75..0000000 --- a/ModernKeePassLib.Test.old/Keys/KcpKeyFileTests.cs +++ /dev/null @@ -1,76 +0,0 @@ -using NUnit.Framework; -using System; -using System.IO; - -#if KeePassLib -using KeePassLib.Keys; -#else -using ModernKeePassLib.Keys; -#endif - -namespace ModernKeePassLib.Test.Keys -{ - [TestFixture ()] - public class KcpKeyFileTests - { - const string testCreateFile = "TestCreate.xml"; - const string testKey = "0123456789"; - - const string expectedFileStart = - "\r\n" + - "\r\n" + - "\t\r\n" + - "\t\t1.00\r\n" + - "\t\r\n" + - "\t\r\n" + - "\t\t"; - - const string expectedFileEnd = "\t\r\n" + - "\r\n"; - - [Test ()] - public void TestConstruct () - { - var expectedKeyData = new byte[32] { - 0xC1, 0xB1, 0x12, 0x77, 0x23, 0xB8, 0x99, 0xB8, - 0xB9, 0x3B, 0x1B, 0xFF, 0x6C, 0xBE, 0xA1, 0x5B, - 0x8B, 0x99, 0xAC, 0xBD, 0x99, 0x51, 0x85, 0x95, - 0x31, 0xAA, 0x14, 0x3D, 0x95, 0xBF, 0x63, 0xFF - }; - - var fullPath = Path.Combine(Path.GetTempPath(), testCreateFile); - using (var fs = new FileStream(fullPath, FileMode.Create)) { - using (var sw = new StreamWriter(fs)) { - sw.Write (expectedFileStart); - sw.Write (testKey); - sw.Write (expectedFileEnd); - } - } - - try { - var keyFile = new KcpKeyFile (fullPath); - var keyData = keyFile.KeyData.ReadData (); - Assert.That (keyData, Is.EqualTo (expectedKeyData)); - } finally { - File.Delete (fullPath); - } - } - - [Test ()] - public void TestCreate () - { - var fullPath = Path.Combine(Path.GetTempPath(), testCreateFile); - File.Create(fullPath).Close(); - KcpKeyFile.Create (fullPath, null); - try { - var fileContents = File.ReadAllText (fullPath); - Assert.That (fileContents.Length, Is.EqualTo (187)); - Assert.That (fileContents, Does.StartWith (expectedFileStart)); - Assert.That (fileContents, Does.EndWith (expectedFileEnd)); - } finally { - File.Delete (fullPath); - } - } - } -} - diff --git a/ModernKeePassLib.Test.old/Keys/KcpPasswordTests.cs b/ModernKeePassLib.Test.old/Keys/KcpPasswordTests.cs deleted file mode 100644 index 4fbc4a7..0000000 --- a/ModernKeePassLib.Test.old/Keys/KcpPasswordTests.cs +++ /dev/null @@ -1,33 +0,0 @@ -using NUnit.Framework; -using System; - -#if KeePassLib -using KeePassLib.Keys; -#else -using ModernKeePassLib.Keys; -#endif - -namespace ModernKeePassLib.Test.Keys -{ - [TestFixture ()] - public class KcpPasswordTests - { - const string testPassword = "password"; - - [Test ()] - public void TestConstruct () - { - var expectedHash = new byte[32] { - 0x5E, 0x88, 0x48, 0x98, 0xDA, 0x28, 0x04, 0x71, - 0x51, 0xD0, 0xE5, 0x6F, 0x8D, 0xC6, 0x29, 0x27, - 0x73, 0x60, 0x3D, 0x0D, 0x6A, 0xAB, 0xBD, 0xD6, - 0x2A, 0x11, 0xEF, 0x72, 0x1D, 0x15, 0x42, 0xD8 - }; - - var key = new KcpPassword (testPassword); - var keyData = key.KeyData.ReadData (); - Assert.That (keyData, Is.EqualTo (expectedHash)); - } - } -} - diff --git a/ModernKeePassLib.Test.old/ModernKeePassLib.Test.old.csproj b/ModernKeePassLib.Test.old/ModernKeePassLib.Test.old.csproj deleted file mode 100644 index d80a400..0000000 --- a/ModernKeePassLib.Test.old/ModernKeePassLib.Test.old.csproj +++ /dev/null @@ -1,104 +0,0 @@ - - - - Debug - AnyCPU - {067456C0-086C-46A8-B37F-1405717B7BFC} - Library - Properties - ModernKeePassLib.Test - ModernKeePassLib.Test - v4.5.1 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\packages\Portable.BouncyCastle.1.8.1.3\lib\net40\BouncyCastle.Crypto.dll - - - ..\packages\NUnit.3.8.1\lib\net45\nunit.framework.dll - True - - - ..\packages\Splat.2.0.0\lib\Net45\Splat.dll - True - - - - - - - - ..\packages\Validation.2.4.18\lib\net45\Validation.dll - True - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {2e710089-9559-4967-846c-e763dd1f3acb} - ModernKeePassLib - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - \ No newline at end of file diff --git a/ModernKeePassLib.Test.old/Properties/AssemblyInfo.cs b/ModernKeePassLib.Test.old/Properties/AssemblyInfo.cs deleted file mode 100644 index 806911d..0000000 --- a/ModernKeePassLib.Test.old/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("ModernKeePassLib.Test")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("ModernKeePassLib.Test")] -[assembly: AssemblyCopyright("Copyright © 2017")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("067456c0-086c-46a8-b37f-1405717b7bfc")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ModernKeePassLib.Test.old/Serialization/HashedBlockStreamTests.cs b/ModernKeePassLib.Test.old/Serialization/HashedBlockStreamTests.cs deleted file mode 100644 index e26d2ec..0000000 --- a/ModernKeePassLib.Test.old/Serialization/HashedBlockStreamTests.cs +++ /dev/null @@ -1,71 +0,0 @@ -using NUnit.Framework; -using System; -using System.IO; - -#if KeePassLib -using KeePassLib.Serialization; -#else -using ModernKeePassLib.Serialization; -#endif - -namespace ModernKeePassLib.Test.Serialization -{ - [TestFixture ()] - public class HashedBlockStreamTests - { - static readonly byte[] data = new byte[16]; - - static readonly byte[] hashStreamData = new byte[] { - // The first 4 bytes are an integer indicating the block index - 0x00, 0x00, 0x00, 0x00, - // Then the SHA-256 hash of the data - 0x37, 0x47, 0x08, 0xFF, 0xF7, 0x71, 0x9D, 0xD5, - 0x97, 0x9E, 0xC8, 0x75, 0xD5, 0x6C, 0xD2, 0x28, - 0x6F, 0x6D, 0x3C, 0xF7, 0xEC, 0x31, 0x7A, 0x3B, - 0x25, 0x63, 0x2A, 0xAB, 0x28, 0xEC, 0x37, 0xBB, - // then an integer that is the length of the data - 0x10, 0x00, 0x00, 0x00, - // and finally the data itself - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // Next, a terminating block - 0x01, 0x00, 0x00, 0x00, - // terminating block is indicated by a hash of all 0s... - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - // ...and by a size of 0 - 0x00, 0x00, 0x00, 0x00 - }; - - [Test ()] - public void TestRead () - { - using (var ms = new MemoryStream (hashStreamData)) { - using (var hbs = new HashedBlockStream (ms, false)) { - using (var br = new BinaryReader(hbs)) { - var bytes = br.ReadBytes (data.Length); - Assert.That (bytes, Is.EqualTo (data)); - Assert.That (() => br.ReadByte (), Throws.InstanceOf ()); - } - } - } - } - - [Test ()] - public void TestWrite () - { - var buffer = new byte[hashStreamData.Length]; - using (var ms = new MemoryStream (buffer)) { - using (var hbs = new HashedBlockStream (ms, true)) { - using (var bw = new BinaryWriter(hbs)) { - bw.Write (data); - } - } - Assert.That (buffer, Is.EqualTo (hashStreamData)); - } - } - } -} - diff --git a/ModernKeePassLib.Test.old/Serialization/KdbxFileTests.cs b/ModernKeePassLib.Test.old/Serialization/KdbxFileTests.cs deleted file mode 100644 index 67e4edd..0000000 --- a/ModernKeePassLib.Test.old/Serialization/KdbxFileTests.cs +++ /dev/null @@ -1,172 +0,0 @@ -using NUnit.Framework; -using System; -using System.Globalization; -using System.IO; -using System.Text; -using ModernKeePassLib.Keys; -using ModernKeePassLib.Security; -using ModernKeePassLib.Serialization; -using ModernKeePassLib.Collections; - -namespace ModernKeePassLib.Test.Serialization -{ - [TestFixture()] - public class KdbxFileTests - { - const string TestLocalizedAppName = "My Localized App Name"; - - const string TestDatabaseName = "My Database Name"; - const string TestDatabaseDescription = "My Database Description"; - const string TestDefaultUserName = "My Default User Name"; - const string TestColor = "#FF0000"; // Red - - const string TestRootGroupName = "My Root Group Name"; - const string TestRootGroupNotes = "My Root Group Notes"; - const string TestRootGroupDefaultAutoTypeSequence = "My Root Group Default Auto Type Sequence"; - - const string TestDatabase = "\r\n" + - "\r\n" + - "\t\r\n" + - "\t\t" + TestLocalizedAppName + "\r\n" + - "\t\t" + TestDatabaseName + "\r\n" + - "\t\t2017-10-23T08:03:55Z\r\n" + - "\t\t" + TestDatabaseDescription + "\r\n" + - "\t\t2017-10-23T08:03:55Z\r\n" + - "\t\t" + TestDefaultUserName + "\r\n" + - "\t\t2017-10-23T08:03:55Z\r\n" + - "\t\t365\r\n" + - //"\t\t" + testColor + "\r\n" + - "\t\t\r\n" + - "\t\t2017-10-23T08:03:55Z\r\n" + - "\t\t-1\r\n" + - "\t\t-1\r\n" + - "\t\t\r\n" + - "\t\t\tFalse\r\n" + - "\t\t\tFalse\r\n" + - "\t\t\tTrue\r\n" + - "\t\t\tFalse\r\n" + - "\t\t\tFalse\r\n" + - "\t\t\r\n" + - "\t\tTrue\r\n" + - "\t\tAAAAAAAAAAAAAAAAAAAAAA==\r\n" + - "\t\t2017-10-23T08:03:55Z\r\n" + - "\t\tAAAAAAAAAAAAAAAAAAAAAA==\r\n" + - "\t\t2017-10-23T08:03:55Z\r\n" + - "\t\t10\r\n" + - "\t\t6291456\r\n" + - "\t\tAAAAAAAAAAAAAAAAAAAAAA==\r\n" + - "\t\tAAAAAAAAAAAAAAAAAAAAAA==\r\n" + - "\t\t\r\n" + - "\t\t\r\n" + - "\t\r\n" + - "\t\r\n" + - "\t\t\r\n" + - "\t\t\tAAAAAAAAAAAAAAAAAAAAAA==\r\n" + - "\t\t\t" + TestRootGroupName + "\r\n" + - "\t\t\t" + TestRootGroupNotes + "\r\n" + - "\t\t\t49\r\n" + - "\t\t\t\r\n" + - "\t\t\t\t2017-10-23T08:03:55Z\r\n" + - "\t\t\t\t2017-10-23T08:03:55Z\r\n" + - "\t\t\t\t2017-10-23T08:03:55Z\r\n" + - "\t\t\t\t2017-10-23T08:03:55Z\r\n" + - "\t\t\t\tFalse\r\n" + - "\t\t\t\t0\r\n" + - "\t\t\t\t2017-10-23T08:03:55Z\r\n" + - "\t\t\t\r\n" + - "\t\t\tTrue\r\n" + - "\t\t\t" + TestRootGroupDefaultAutoTypeSequence + "\r\n" + - "\t\t\tnull\r\n" + - "\t\t\tnull\r\n" + - "\t\t\tAAAAAAAAAAAAAAAAAAAAAA==\r\n" + - "\t\t\r\n" + - "\t\t\r\n" + - "\t\r\n" + - ""; - - const string TestDate = "2017-10-23T08:03:55Z"; - - [Test()] - public void TestLoad() - { - var database = new PwDatabase(); - using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(TestDatabase))) - { - var file = new KdbxFile(database); - file.Load(ms, KdbxFormat.PlainXml, null); - } - //Assert.That(database.Color.ToArgb(), Is.EqualTo(Color.Red.ToArgb())); - Assert.That(database.Compression, Is.EqualTo(PwCompressionAlgorithm.GZip)); - //Assert.That (database.CustomData, Is.EqualTo ()); - Assert.That(database.CustomIcons, Is.Empty); - } - - [Test()] - public void TestSave() - { - var buffer = new byte[4096]; - using (var ms = new MemoryStream(buffer)) - { - var database = new PwDatabase(); - database.New(new IOConnectionInfo(), new CompositeKey()); - var date = DateTime.Parse(TestDate, CultureInfo.CurrentCulture, DateTimeStyles.AdjustToUniversal); - //var date = DateTime.UtcNow; - PwDatabase.LocalizedAppName = TestLocalizedAppName; - database.Name = TestDatabaseName; - database.NameChanged = date; - database.Description = TestDatabaseDescription; - database.DescriptionChanged = date; - database.DefaultUserName = TestDefaultUserName; - database.DefaultUserNameChanged = date; - //database.Color = Color.Red; - database.MasterKeyChanged = date; - database.RecycleBinChanged = date; - database.EntryTemplatesGroupChanged = date; - database.RootGroup.Uuid = PwUuid.Zero; - database.RootGroup.Name = TestRootGroupName; - database.RootGroup.Notes = TestRootGroupNotes; - database.RootGroup.DefaultAutoTypeSequence = TestRootGroupDefaultAutoTypeSequence; - database.RootGroup.CreationTime = date; - database.RootGroup.LastModificationTime = date; - database.RootGroup.LastAccessTime = date; - database.RootGroup.ExpiryTime = date; - database.RootGroup.LocationChanged = date; - var file = new KdbxFile(database); - file.Save(ms, null, KdbxFormat.PlainXml, null); - } - var fileContents = Encoding.UTF8.GetString(buffer).Replace("\0", ""); - if (typeof(KdbxFile).Namespace.StartsWith("KeePassLib.") - && Environment.OSVersion.Platform != PlatformID.Win32NT) - { - // Upstream KeePassLib does not specify line endings for XmlTextWriter, - // so it uses native line endings. - fileContents = fileContents.Replace("\n", "\r\n"); - } - Assert.That(fileContents, Is.EqualTo(TestDatabase)); - } - - [Test] - public void TestSearch() - { - var database = new PwDatabase(); - using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(TestDatabase))) - { - var file = new KdbxFile(database); - file.Load(ms, KdbxFormat.PlainXml, null); - } - var sp = new SearchParameters() - { - SearchString = "sfsoiwsefsi" - }; - var listStorage = new PwObjectList(); - database.RootGroup.SearchEntries(sp, listStorage); - Assert.AreEqual(0U, listStorage.UCount); - var entry = new PwEntry(true, true); - entry.Strings.Set("Title", new ProtectedString(false, "NaMe")); - database.RootGroup.AddEntry(entry, true); - sp.SearchString = "name"; - database.RootGroup.SearchEntries(sp, listStorage); - Assert.AreEqual(1U, listStorage.UCount); - } - } -} diff --git a/ModernKeePassLib.Test.old/Utility/GfxUtilTests.cs b/ModernKeePassLib.Test.old/Utility/GfxUtilTests.cs deleted file mode 100644 index 64da5ab..0000000 --- a/ModernKeePassLib.Test.old/Utility/GfxUtilTests.cs +++ /dev/null @@ -1,33 +0,0 @@ -using NUnit.Framework; -using System; - -#if KeePassLib -using KeePassLib.Utility; -#else -using Splat; -using ModernKeePassLib.Utility; -#endif - -namespace ModernKeePassLib.Test.Utility -{ - [TestFixture ()] - public class GfxUtilTests - { - // 16x16 all white PNG file, base64 encoded - const string testImageData = - "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAA" + - "LEwEAmpwYAAAAB3RJTUUH3wMOFgIgmTCUMQAAABl0RVh0Q29tbWVudABDcmVhdG" + - "VkIHdpdGggR0lNUFeBDhcAAAAaSURBVCjPY/z//z8DKYCJgUQwqmFUw9DRAABVb" + - "QMdny4VogAAAABJRU5ErkJggg=="; - - [Test ()] - public void TestLoadImage () - { - var testData = Convert.FromBase64String (testImageData); - var image = GfxUtil.ScaleImage(testData, 16, 16).GetAwaiter().GetResult(); - //var image = GfxUtil.LoadImage(testData); - Assert.That (image.Width, Is.EqualTo (16)); - Assert.That (image.Height, Is.EqualTo (16)); - } - } -} diff --git a/ModernKeePassLib.Test.old/Utility/MemUtilTests.cs b/ModernKeePassLib.Test.old/Utility/MemUtilTests.cs deleted file mode 100644 index f57ee2c..0000000 --- a/ModernKeePassLib.Test.old/Utility/MemUtilTests.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System.Text; -using ModernKeePassLib.Cryptography; -using ModernKeePassLib.Utility; -using NUnit.Framework; - -namespace ModernKeePassLib.Test.Utility -{ - [TestFixture] - public class MemUtilTests - { - private byte[] _pb = CryptoRandom.Instance.GetRandomBytes((uint)CryptoRandom.NewWeakRandom().Next(0, 0x2FFFF)); - - [Test] - public void TestGzip() - { - var pbCompressed = MemUtil.Compress(_pb); - Assert.That(MemUtil.ArraysEqual(MemUtil.Decompress(pbCompressed), _pb), Is.True); - } - - [Test] - public void TestMemUtil() - { - Encoding enc = StrUtil.Utf8; - _pb = enc.GetBytes("012345678901234567890a"); - byte[] pbN = enc.GetBytes("9012"); - Assert.That(MemUtil.IndexOf(_pb, pbN), Is.EqualTo(9)); - - pbN = enc.GetBytes("01234567890123"); - Assert.That(MemUtil.IndexOf(_pb, pbN), Is.EqualTo(0)); - - pbN = enc.GetBytes("a"); - Assert.That(MemUtil.IndexOf(_pb, pbN), Is.EqualTo(21)); - - pbN = enc.GetBytes("0a"); - Assert.That(MemUtil.IndexOf(_pb, pbN), Is.EqualTo(20)); - - pbN = enc.GetBytes("1"); - Assert.That(MemUtil.IndexOf(_pb, pbN), Is.EqualTo(1)); - - pbN = enc.GetBytes("b"); - Assert.That(MemUtil.IndexOf(_pb, pbN), Is.LessThan(0)); - - pbN = enc.GetBytes("012b"); - Assert.That(MemUtil.IndexOf(_pb, pbN), Is.LessThan(0)); - } - - [Test] - public void TestBase32() - { - byte[] pbRes = MemUtil.ParseBase32("MY======"); - byte[] pbExp = Encoding.UTF8.GetBytes("f"); - Assert.That(MemUtil.ArraysEqual(pbRes, pbExp), Is.True); - - pbRes = MemUtil.ParseBase32("MZXQ===="); - pbExp = Encoding.UTF8.GetBytes("fo"); - Assert.That(MemUtil.ArraysEqual(pbRes, pbExp), Is.True); - - pbRes = MemUtil.ParseBase32("MZXW6==="); - pbExp = Encoding.UTF8.GetBytes("foo"); - Assert.That(MemUtil.ArraysEqual(pbRes, pbExp), Is.True); - - pbRes = MemUtil.ParseBase32("MZXW6YQ="); - pbExp = Encoding.UTF8.GetBytes("foob"); - Assert.That(MemUtil.ArraysEqual(pbRes, pbExp), Is.True); - - pbRes = MemUtil.ParseBase32("MZXW6YTB"); - pbExp = Encoding.UTF8.GetBytes("fooba"); - Assert.That(MemUtil.ArraysEqual(pbRes, pbExp), Is.True); - - pbRes = MemUtil.ParseBase32("MZXW6YTBOI======"); - pbExp = Encoding.UTF8.GetBytes("foobar"); - Assert.That(MemUtil.ArraysEqual(pbRes, pbExp), Is.True); - - pbRes = MemUtil.ParseBase32("JNSXSIDQOJXXM2LEMVZCAYTBONSWIIDPNYQG63TFFV2GS3LFEBYGC43TO5XXEZDTFY======"); - pbExp = Encoding.UTF8.GetBytes("Key provider based on one-time passwords."); - Assert.That(MemUtil.ArraysEqual(pbRes, pbExp), Is.True); - } - - [Test] - public void TestMemUtil2() - { - var i = 0 - 0x10203040; - var pbRes = MemUtil.Int32ToBytes(i); - Assert.That(MemUtil.ByteArrayToHexString(pbRes), Is.EqualTo("C0CFDFEF")); - Assert.That(MemUtil.BytesToUInt32(pbRes), Is.EqualTo((uint)i)); - Assert.That(MemUtil.BytesToInt32(pbRes), Is.EqualTo(i)); - } - } -} \ No newline at end of file diff --git a/ModernKeePassLib.Test.old/app.config b/ModernKeePassLib.Test.old/app.config deleted file mode 100644 index 9d20672..0000000 --- a/ModernKeePassLib.Test.old/app.config +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ModernKeePassLib.Test.old/packages.config b/ModernKeePassLib.Test.old/packages.config deleted file mode 100644 index bd4f15c..0000000 --- a/ModernKeePassLib.Test.old/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/UnitTestLibrary/Images/UnitTestLogo.scale-100.png b/UnitTestLibrary/Images/UnitTestLogo.scale-100.png deleted file mode 100644 index ebd735a..0000000 Binary files a/UnitTestLibrary/Images/UnitTestLogo.scale-100.png and /dev/null differ diff --git a/UnitTestLibrary/Images/UnitTestSmallLogo.scale-100.png b/UnitTestLibrary/Images/UnitTestSmallLogo.scale-100.png deleted file mode 100644 index 92dd105..0000000 Binary files a/UnitTestLibrary/Images/UnitTestSmallLogo.scale-100.png and /dev/null differ diff --git a/UnitTestLibrary/Images/UnitTestSplashScreen.scale-100.png b/UnitTestLibrary/Images/UnitTestSplashScreen.scale-100.png deleted file mode 100644 index 193187f..0000000 Binary files a/UnitTestLibrary/Images/UnitTestSplashScreen.scale-100.png and /dev/null differ diff --git a/UnitTestLibrary/Images/UnitTestStoreLogo.scale-100.png b/UnitTestLibrary/Images/UnitTestStoreLogo.scale-100.png deleted file mode 100644 index 3765186..0000000 Binary files a/UnitTestLibrary/Images/UnitTestStoreLogo.scale-100.png and /dev/null differ diff --git a/UnitTestLibrary/Package.appxmanifest b/UnitTestLibrary/Package.appxmanifest deleted file mode 100644 index e64df0b..0000000 --- a/UnitTestLibrary/Package.appxmanifest +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - UnitTestLibrary - GBE - Images\UnitTestStoreLogo.png - UnitTestLibrary - - - - 6.3.0 - 6.3.0 - - - - - - - - - - - - - - - - - - - - - - - diff --git a/UnitTestLibrary/Properties/AssemblyInfo.cs b/UnitTestLibrary/Properties/AssemblyInfo.cs deleted file mode 100644 index e04d528..0000000 --- a/UnitTestLibrary/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("UnitTestLibrary")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("UnitTestLibrary")] -[assembly: AssemblyCopyright("Copyright © 2017")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/UnitTestLibrary/UnitTest1.cs b/UnitTestLibrary/UnitTest1.cs deleted file mode 100644 index 9f05fc1..0000000 --- a/UnitTestLibrary/UnitTest1.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; - -namespace UnitTestLibrary -{ - [TestClass] - public class UnitTest1 - { - [TestMethod] - public void TestMethod1() - { - } - } -} diff --git a/UnitTestLibrary/UnitTestLibrary.csproj b/UnitTestLibrary/UnitTestLibrary.csproj deleted file mode 100644 index d56d1b1..0000000 --- a/UnitTestLibrary/UnitTestLibrary.csproj +++ /dev/null @@ -1,152 +0,0 @@ - - - - - Debug - AnyCPU - 8.0.30703 - 2.0 - {ce2b2c45-2b99-46b1-a29e-128e63fd0933} - Library - Properties - UnitTestLibrary - UnitTestLibrary - en-US - 8.1 - 14 - 512 - {BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - UnitTestLibrary_TemporaryKey.pfx - Never - False - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE;NETFX_CORE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE;NETFX_CORE - prompt - 4 - - - true - bin\ARM\Debug\ - DEBUG;TRACE;NETFX_CORE - ;2008 - full - ARM - false - prompt - true - - - bin\ARM\Release\ - TRACE;NETFX_CORE - true - ;2008 - pdbonly - ARM - false - prompt - true - - - true - bin\x64\Debug\ - DEBUG;TRACE;NETFX_CORE - ;2008 - full - x64 - false - prompt - true - - - bin\x64\Release\ - TRACE;NETFX_CORE - true - ;2008 - pdbonly - x64 - false - prompt - true - - - true - bin\x86\Debug\ - DEBUG;TRACE;NETFX_CORE - ;2008 - full - x86 - false - prompt - true - - - bin\x86\Release\ - TRACE;NETFX_CORE - true - ;2008 - pdbonly - x86 - false - prompt - true - - - True - true - - - - - - - - - - - - - Designer - - - - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - - 14.0 - - - - diff --git a/UnitTestLibrary/UnitTestLibrary_TemporaryKey.pfx b/UnitTestLibrary/UnitTestLibrary_TemporaryKey.pfx deleted file mode 100644 index 5b44b83..0000000 Binary files a/UnitTestLibrary/UnitTestLibrary_TemporaryKey.pfx and /dev/null differ