summary refs log tree commit diff
path: root/crypto/src/openssl/PEMUtilities.cs
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2024-05-13 01:38:11 +0700
committerPeter Dettman <peter.dettman@bouncycastle.org>2024-05-13 01:38:11 +0700
commite44ebc3ada821408d29c3bd52fd862db4067064d (patch)
treec4e9d24fbb596123d338aa0c5902a9b0724111c1 /crypto/src/openssl/PEMUtilities.cs
parentUpdate release notes (diff)
downloadBouncyCastle.NET-ed25519-e44ebc3ada821408d29c3bd52fd862db4067064d.tar.xz
Refactor to use Enum.TryParse
Diffstat (limited to 'crypto/src/openssl/PEMUtilities.cs')
-rw-r--r--crypto/src/openssl/PEMUtilities.cs42
1 files changed, 19 insertions, 23 deletions
diff --git a/crypto/src/openssl/PEMUtilities.cs b/crypto/src/openssl/PEMUtilities.cs
index 4ff340b12..eaee4d9d8 100644
--- a/crypto/src/openssl/PEMUtilities.cs
+++ b/crypto/src/openssl/PEMUtilities.cs
@@ -20,32 +20,28 @@ namespace Org.BouncyCastle.OpenSsl
             Enums.GetArbitraryValue<PemMode>().ToString();
 		}
 
-		private static void ParseDekAlgName(
-			string			dekAlgName,
-			out PemBaseAlg	baseAlg,
-			out PemMode		mode)
-		{
-			try
-			{
-				mode = PemMode.ECB;
-
-				if (dekAlgName == "DES-EDE" || dekAlgName == "DES-EDE3")
-				{
-					baseAlg = Enums.GetEnumValue<PemBaseAlg>(dekAlgName);
-					return;
-				}
-
-				int pos = dekAlgName.LastIndexOf('-');
-				if (pos >= 0)
+        private static void ParseDekAlgName(string dekAlgName, out PemBaseAlg baseAlg, out PemMode mode)
+        {
+            if (dekAlgName == "DES-EDE" || dekAlgName == "DES-EDE3")
+            {
+				if (Enums.TryGetEnumValue<PemBaseAlg>(dekAlgName, out baseAlg))
 				{
-					baseAlg = Enums.GetEnumValue<PemBaseAlg>(dekAlgName.Substring(0, pos));
-                    mode = Enums.GetEnumValue<PemMode>(dekAlgName.Substring(pos + 1));
+                    mode = PemMode.ECB;
                     return;
-				}
-			}
-			catch (ArgumentException)
+                }
+            }
+			else
 			{
-			}
+                int pos = dekAlgName.LastIndexOf('-');
+                if (pos >= 0)
+                {
+                    if (Enums.TryGetEnumValue<PemBaseAlg>(dekAlgName.Substring(0, pos), out baseAlg) &&
+						Enums.TryGetEnumValue<PemMode>(dekAlgName.Substring(pos + 1), out mode))
+					{
+						return;
+					}
+                }
+            }
 
 			throw new EncryptionException("Unknown DEK algorithm: " + dekAlgName);
 		}