diff options
Diffstat (limited to 'crypto/src/asn1/x9/X962Parameters.cs')
-rw-r--r-- | crypto/src/asn1/x9/X962Parameters.cs | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/crypto/src/asn1/x9/X962Parameters.cs b/crypto/src/asn1/x9/X962Parameters.cs index b863f4bfd..af1fce1db 100644 --- a/crypto/src/asn1/x9/X962Parameters.cs +++ b/crypto/src/asn1/x9/X962Parameters.cs @@ -9,24 +9,22 @@ namespace Org.BouncyCastle.Asn1.X9 { private readonly Asn1Object _params; - public static X962Parameters GetInstance( - object obj) + public static X962Parameters GetInstance(object obj) { - if (obj == null || obj is X962Parameters) - { - return (X962Parameters)obj; - } + if (obj == null) + return null; - if (obj is Asn1Object) - { - return new X962Parameters((Asn1Object)obj); - } + if (obj is X962Parameters x962Parameters) + return x962Parameters; - if (obj is byte[]) + if (obj is Asn1Object asn1Object) + return new X962Parameters(asn1Object); + + if (obj is byte[] bytes) { try { - return new X962Parameters(Asn1Object.FromByteArray((byte[])obj)); + return new X962Parameters(Asn1Object.FromByteArray(bytes)); } catch (Exception e) { @@ -34,9 +32,14 @@ namespace Org.BouncyCastle.Asn1.X9 } } - throw new ArgumentException("unknown object in getInstance()"); + throw new ArgumentException("unknown object in GetInstance()"); } + public static X962Parameters GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) + { + return Asn1Utilities.GetInstanceFromChoice(taggedObject, declaredExplicit, GetInstance); + } + public X962Parameters( X9ECParameters ecParameters) { |