summary refs log tree commit diff
path: root/crypto
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2017-08-13 23:22:22 +0700
committerPeter Dettman <peter.dettman@bouncycastle.org>2017-08-13 23:22:22 +0700
commit967ff14e68965c188b33727044c48fc10e2b73d3 (patch)
tree9d6c73cb95aecc6114143e7b3e729bd47f03e065 /crypto
parentFix exception type in DoFinal (diff)
downloadBouncyCastle.NET-ed25519-967ff14e68965c188b33727044c48fc10e2b73d3.tar.xz
Fix various issues trying to build for .NET 1.1
Diffstat (limited to 'crypto')
-rw-r--r--crypto/test/src/crypto/test/GOST3411_2012_256DigestTest.cs40
-rw-r--r--crypto/test/src/crypto/test/GOST3411_2012_512DigestTest.cs28
-rw-r--r--crypto/test/src/math/ec/custom/sec/test/SecP256R1FieldTest.cs40
-rw-r--r--crypto/test/src/math/ec/custom/sec/test/SecP384R1FieldTest.cs32
-rw-r--r--crypto/test/src/test/DHTest.cs2
5 files changed, 90 insertions, 52 deletions
diff --git a/crypto/test/src/crypto/test/GOST3411_2012_256DigestTest.cs b/crypto/test/src/crypto/test/GOST3411_2012_256DigestTest.cs
index dd9ed11c0..d08447df5 100644
--- a/crypto/test/src/crypto/test/GOST3411_2012_256DigestTest.cs
+++ b/crypto/test/src/crypto/test/GOST3411_2012_256DigestTest.cs
@@ -1,6 +1,8 @@
 using System;
-using System.Collections.Generic;
+using System.Collections;
+
 using NUnit.Framework;
+
 using Org.BouncyCastle.Crypto;
 using Org.BouncyCastle.Crypto.Digests;
 using Org.BouncyCastle.Crypto.Macs;
@@ -12,9 +14,9 @@ using Org.BouncyCastle.Utilities.Encoders;
 namespace UnitTests.src.crypto.test
 {
     [TestFixture]
-    public class GOST3411_2012_256DigestTest : DigestTest
+    public class GOST3411_2012_256DigestTest
+        : DigestTest
     {
-
         private static readonly String[] messages;
 
         private static char[] M1 =
@@ -50,38 +52,28 @@ namespace UnitTests.src.crypto.test
 
         static GOST3411_2012_256DigestTest()
         {
-
-            List<String> strList = new List<String>();
-
-            strList.Add(new String(M1));
-            strList.Add(new String(M2));
-
-            messages = new String[strList.Count];
-            for (int i = 0; i < strList.Count; i++)
-            {
-                messages[i] = (String)strList[i];
-            }
+            messages = new string[] { new string(M1), new string(M2) };
         }
 
         private static readonly String[] digests = {
-        "9d151eefd8590b89daa6ba6cb74af9275dd051026bb149a452fd84e5e57b5500",
-        "9dd2fe4e90409e5da87f53976d7405b0c0cac628fc669a741d50063c557e8f50"
-    };
-
-
+            "9d151eefd8590b89daa6ba6cb74af9275dd051026bb149a452fd84e5e57b5500",
+            "9dd2fe4e90409e5da87f53976d7405b0c0cac628fc669a741d50063c557e8f50"
+        };
 
-        public GOST3411_2012_256DigestTest() : base(new GOST3411_2012_256Digest(), messages, digests)
+        public GOST3411_2012_256DigestTest()
+            : base(new GOST3411_2012_256Digest(), messages, digests)
         {
         }
 
-        public override void PerformTest() {
+        public override void PerformTest()
+        {
 			base.PerformTest();
 
-			HMac gMac = new HMac(new GOST3411_2012_256Digest());
+            HMac gMac = new HMac(new GOST3411_2012_256Digest());
 
-			gMac.Init(new KeyParameter(Hex.Decode("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f")));
+            gMac.Init(new KeyParameter(Hex.Decode("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f")));
 
-			byte[] data = Hex.Decode("0126bdb87800af214341456563780100");
+            byte[] data = Hex.Decode("0126bdb87800af214341456563780100");
 
             gMac.BlockUpdate(data, 0, data.Length);
             byte[] mac = new byte[gMac.GetMacSize()];
diff --git a/crypto/test/src/crypto/test/GOST3411_2012_512DigestTest.cs b/crypto/test/src/crypto/test/GOST3411_2012_512DigestTest.cs
index 1f7e0ab50..05b33e7f9 100644
--- a/crypto/test/src/crypto/test/GOST3411_2012_512DigestTest.cs
+++ b/crypto/test/src/crypto/test/GOST3411_2012_512DigestTest.cs
@@ -1,19 +1,20 @@
 using System;
-using System.Collections.Generic;
+using System.Collections;
+
 using NUnit.Framework;
+
 using Org.BouncyCastle.Crypto.Digests;
 using Org.BouncyCastle.Crypto.Macs;
 using Org.BouncyCastle.Crypto.Parameters;
 using Org.BouncyCastle.Utilities;
 using Org.BouncyCastle.Utilities.Encoders;
 
-
 namespace Org.BouncyCastle.Crypto.Tests
 {
     [TestFixture]
-    public class GOST3411_2012_512DigestTest : DigestTest
+    public class GOST3411_2012_512DigestTest
+        : DigestTest
     {
-
         private static readonly String[] messages;
 
         private static char[] M1 =
@@ -48,21 +49,13 @@ namespace Org.BouncyCastle.Crypto.Tests
 
         static GOST3411_2012_512DigestTest()
         {
-            List<String> strList = new List<String>();
-
-            strList.Add(new String(M1));
-            strList.Add(new String(M2));
-            messages = new String[strList.Count];
-            for (int i = 0; i < strList.Count; i++)
-            {
-                messages[i] = (String)strList[i];
-            }
+            messages = new string[]{ new string(M1), new string(M2) };
         }
 
         private static readonly String[] digests = {
-        "1b54d01a4af5b9d5cc3d86d68d285462b19abc2475222f35c085122be4ba1ffa00ad30f8767b3a82384c6574f024c311e2a481332b08ef7f41797891c1646f48",
-        "1e88e62226bfca6f9994f1f2d51569e0daf8475a3b0fe61a5300eee46d961376035fe83549ada2b8620fcd7c496ce5b33f0cb9dddc2b6460143b03dabac9fb28",
-    };
+            "1b54d01a4af5b9d5cc3d86d68d285462b19abc2475222f35c085122be4ba1ffa00ad30f8767b3a82384c6574f024c311e2a481332b08ef7f41797891c1646f48",
+            "1e88e62226bfca6f9994f1f2d51569e0daf8475a3b0fe61a5300eee46d961376035fe83549ada2b8620fcd7c496ce5b33f0cb9dddc2b6460143b03dabac9fb28",
+        };
 
 		public override void PerformTest()
 		{
@@ -85,7 +78,8 @@ namespace Org.BouncyCastle.Crypto.Tests
 			}
 		}
 
-        public GOST3411_2012_512DigestTest() : base(new GOST3411_2012_512Digest(), messages, digests)
+        public GOST3411_2012_512DigestTest()
+            : base(new GOST3411_2012_512Digest(), messages, digests)
         {
         }
 
diff --git a/crypto/test/src/math/ec/custom/sec/test/SecP256R1FieldTest.cs b/crypto/test/src/math/ec/custom/sec/test/SecP256R1FieldTest.cs
index 374b1ecd1..c6b7b311d 100644
--- a/crypto/test/src/math/ec/custom/sec/test/SecP256R1FieldTest.cs
+++ b/crypto/test/src/math/ec/custom/sec/test/SecP256R1FieldTest.cs
@@ -5,7 +5,6 @@ using NUnit.Framework;
 using Org.BouncyCastle.Asn1.Sec;
 using Org.BouncyCastle.Asn1.X9;
 using Org.BouncyCastle.Crypto.EC;
-using Org.BouncyCastle.Math.Raw;
 using Org.BouncyCastle.Security;
 
 namespace Org.BouncyCastle.Math.EC.Custom.Sec.Tests
@@ -150,32 +149,59 @@ namespace Org.BouncyCastle.Math.EC.Custom.Sec.Tests
 
         private ECFieldElement GenerateMultiplyInputA_OpenSSLBug()
         {
-            uint[] x = Nat256.Create();
+            uint[] x = Nat256_Create();
             x[0] = (uint)Random.NextInt() >> 1;
             x[4] = 3;
             x[7] = 0xFFFFFFFF;
 
-            return FE(Nat256.ToBigInteger(x));
+            return FE(Nat256_ToBigInteger(x));
         }
 
         private ECFieldElement GenerateMultiplyInputB_OpenSSLBug()
         {
-            uint[] x = Nat256.Create();
+            uint[] x = Nat256_Create();
             x[0] = (uint)Random.NextInt() >> 1;
             x[3] = 1;
             x[7] = 0xFFFFFFFF;
 
-            return FE(Nat256.ToBigInteger(x));
+            return FE(Nat256_ToBigInteger(x));
         }
 
         private ECFieldElement GenerateSquareInput_OpenSSLBug()
         {
-            uint[] x = Nat256.Create();
+            uint[] x = Nat256_Create();
             x[0] = (uint)Random.NextInt() >> 1;
             x[4] = 2;
             x[7] = 0xFFFFFFFF;
 
-            return FE(Nat256.ToBigInteger(x));
+            return FE(Nat256_ToBigInteger(x));
+        }
+
+        private static uint[] Nat256_Create()
+        {
+            return new uint[8];
+        }
+
+        private static BigInteger Nat256_ToBigInteger(uint[] x)
+        {
+            byte[] bs = new byte[32];
+            for (int i = 0; i < 8; ++i)
+            {
+                uint x_i = x[i];
+                if (x_i != 0)
+                {
+                    Pack_UInt32_To_BE(x_i, bs, (7 - i) << 2);
+                }
+            }
+            return new BigInteger(1, bs);
+        }
+
+        private static void Pack_UInt32_To_BE(uint n, byte[] bs, int off)
+        {
+            bs[off] = (byte)(n >> 24);
+            bs[off + 1] = (byte)(n >> 16);
+            bs[off + 2] = (byte)(n >> 8);
+            bs[off + 3] = (byte)(n);
         }
     }
 }
diff --git a/crypto/test/src/math/ec/custom/sec/test/SecP384R1FieldTest.cs b/crypto/test/src/math/ec/custom/sec/test/SecP384R1FieldTest.cs
index 86ec4894f..6045c1bdf 100644
--- a/crypto/test/src/math/ec/custom/sec/test/SecP384R1FieldTest.cs
+++ b/crypto/test/src/math/ec/custom/sec/test/SecP384R1FieldTest.cs
@@ -5,7 +5,6 @@ using NUnit.Framework;
 using Org.BouncyCastle.Asn1.Sec;
 using Org.BouncyCastle.Asn1.X9;
 using Org.BouncyCastle.Crypto.EC;
-using Org.BouncyCastle.Math.Raw;
 using Org.BouncyCastle.Security;
 
 namespace Org.BouncyCastle.Math.EC.Custom.Sec.Tests
@@ -134,13 +133,40 @@ namespace Org.BouncyCastle.Math.EC.Custom.Sec.Tests
 
         private ECFieldElement GenerateSquareInput_CarryBug()
         {
-            uint[] x = Nat.Create(12);
+            uint[] x = Nat_Create(12);
             x[0] = (uint)Random.NextInt() >> 1;
             x[6] = 2;
             x[10] = 0xFFFF0000;
             x[11] = 0xFFFFFFFF;
 
-            return FE(Nat.ToBigInteger(12, x));
+            return FE(Nat_ToBigInteger(12, x));
+        }
+
+        private static uint[] Nat_Create(int len)
+        {
+            return new uint[len];
+        }
+
+        private static BigInteger Nat_ToBigInteger(int len, uint[] x)
+        {
+            byte[] bs = new byte[len << 2];
+            for (int i = 0; i < len; ++i)
+            {
+                uint x_i = x[i];
+                if (x_i != 0)
+                {
+                    Pack_UInt32_To_BE(x_i, bs, (len - 1 - i) << 2);
+                }
+            }
+            return new BigInteger(1, bs);
+        }
+
+        private static void Pack_UInt32_To_BE(uint n, byte[] bs, int off)
+        {
+            bs[off] = (byte)(n >> 24);
+            bs[off + 1] = (byte)(n >> 16);
+            bs[off + 2] = (byte)(n >> 8);
+            bs[off + 3] = (byte)(n);
         }
     }
 }
diff --git a/crypto/test/src/test/DHTest.cs b/crypto/test/src/test/DHTest.cs
index fca487008..1acc0d603 100644
--- a/crypto/test/src/test/DHTest.cs
+++ b/crypto/test/src/test/DHTest.cs
@@ -708,7 +708,7 @@ namespace Org.BouncyCastle.Tests
                 }
                 catch (ArgumentException ex)
                 {
-                    IsTrue("wrong message (constructor)", Platform.StartsWith(ex.Message, "invalid DH public key"));
+                    IsTrue("wrong message (constructor)", ex.Message.StartsWith("invalid DH public key"));
                 }
 
                 ka.Init(priv);