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