summary refs log tree commit diff
path: root/crypto/src/security/ParameterUtilities.cs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/security/ParameterUtilities.cs')
-rw-r--r--crypto/src/security/ParameterUtilities.cs53
1 files changed, 19 insertions, 34 deletions
diff --git a/crypto/src/security/ParameterUtilities.cs b/crypto/src/security/ParameterUtilities.cs
index fdb8d86be..5a407fc9d 100644
--- a/crypto/src/security/ParameterUtilities.cs
+++ b/crypto/src/security/ParameterUtilities.cs
@@ -1,5 +1,5 @@
 using System;
-using System.Collections;
+using System.Collections.Generic;
 
 using Org.BouncyCastle.Asn1;
 using Org.BouncyCastle.Asn1.CryptoPro;
@@ -12,18 +12,16 @@ using Org.BouncyCastle.Asn1.Oiw;
 using Org.BouncyCastle.Asn1.Pkcs;
 using Org.BouncyCastle.Crypto;
 using Org.BouncyCastle.Crypto.Parameters;
-using Org.BouncyCastle.Utilities;
+using Org.BouncyCastle.Utilities.Collections;
 
 namespace Org.BouncyCastle.Security
 {
-    public sealed class ParameterUtilities
+    public static class ParameterUtilities
     {
-        private ParameterUtilities()
-        {
-        }
-
-        private static readonly IDictionary algorithms = Platform.CreateHashtable();
-        private static readonly IDictionary basicIVSizes = Platform.CreateHashtable();
+        private static readonly IDictionary<string, string> Algorithms =
+            new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
+        private static readonly IDictionary<string, int> BasicIVSizes =
+            new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
 
         static ParameterUtilities()
         {
@@ -164,15 +162,13 @@ namespace Org.BouncyCastle.Security
             // "RIJNDAEL", "SKIPJACK", "TWOFISH"
         }
 
-        private static void AddAlgorithm(
-            string			canonicalName,
-            params object[]	aliases)
+        private static void AddAlgorithm(string canonicalName, params object[] aliases)
         {
-            algorithms[canonicalName] = canonicalName;
+            Algorithms[canonicalName] = canonicalName;
 
             foreach (object alias in aliases)
             {
-                algorithms[alias.ToString()] = canonicalName;
+                Algorithms[alias.ToString()] = canonicalName;
             }
         }
 
@@ -180,26 +176,21 @@ namespace Org.BouncyCastle.Security
         {
             foreach (string algorithm in algorithms)
             {
-                basicIVSizes.Add(algorithm, size);
+                BasicIVSizes.Add(algorithm, size);
             }
         }
 
-        public static string GetCanonicalAlgorithmName(
-            string algorithm)
+        public static string GetCanonicalAlgorithmName(string algorithm)
         {
-            return (string) algorithms[Platform.ToUpperInvariant(algorithm)];
+            return CollectionUtilities.GetValueOrNull(Algorithms, algorithm);
         }
 
-        public static KeyParameter CreateKeyParameter(
-            DerObjectIdentifier algOid,
-            byte[]				keyBytes)
+        public static KeyParameter CreateKeyParameter(DerObjectIdentifier algOid, byte[] keyBytes)
         {
             return CreateKeyParameter(algOid.Id, keyBytes, 0, keyBytes.Length);
         }
 
-        public static KeyParameter CreateKeyParameter(
-            string	algorithm,
-            byte[]	keyBytes)
+        public static KeyParameter CreateKeyParameter(string algorithm, byte[] keyBytes)
         {
             return CreateKeyParameter(algorithm, keyBytes, 0, keyBytes.Length);
         }
@@ -220,7 +211,7 @@ namespace Org.BouncyCastle.Security
             int		length)
         {
             if (algorithm == null)
-                throw new ArgumentNullException("algorithm");
+                throw new ArgumentNullException(nameof(algorithm));
 
             string canonical = GetCanonicalAlgorithmName(algorithm);
 
@@ -348,9 +339,7 @@ namespace Org.BouncyCastle.Security
             return cp;
         }
 
-        private static Asn1OctetString CreateIVOctetString(
-            SecureRandom	random,
-            int				ivLength)
+        private static Asn1OctetString CreateIVOctetString(SecureRandom random, int ivLength)
         {
             return new DerOctetString(CreateIV(random, ivLength));
         }
@@ -360,13 +349,9 @@ namespace Org.BouncyCastle.Security
             return SecureRandom.GetNextBytes(random, ivLength);
         }
 
-        private static int FindBasicIVSize(
-            string canonicalName)
+        private static int FindBasicIVSize(string canonicalName)
         {
-            if (!basicIVSizes.Contains(canonicalName))
-                return -1;
-
-            return (int)basicIVSizes[canonicalName];
+            return BasicIVSizes.TryGetValue(canonicalName, out int keySize) ? keySize : -1;
         }
     }
 }