<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.1" />

X962Parameters

using System; namespace Org.BouncyCastle.Asn1.X9 { public class X962Parameters : Asn1Encodable, IAsn1Choice { private readonly Asn1Object m_params; public bool IsNamedCurve => m_params is DerObjectIdentifier; public bool IsImplicitlyCA => m_params is Asn1Null; public DerObjectIdentifier NamedCurve => DerObjectIdentifier.GetOptional(m_params); public Asn1Object Parameters => m_params; public static X962Parameters GetInstance(object obj) { return Asn1Utilities.GetInstanceChoice(obj, GetOptional); } public static X962Parameters GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return Asn1Utilities.GetInstanceChoice(taggedObject, declaredExplicit, GetInstance); } public static X962Parameters GetOptional(Asn1Encodable element) { if (element == null) throw new ArgumentNullException("element"); X962Parameters x962Parameters = element as X962Parameters; if (x962Parameters != null) return x962Parameters; X9ECParameters optional = X9ECParameters.GetOptional(element); if (optional != null) return new X962Parameters(optional); DerObjectIdentifier optional2 = DerObjectIdentifier.GetOptional(element); if (optional2 != null) return new X962Parameters(optional2); Asn1Null optional3 = Asn1Null.GetOptional(element); if (optional3 != null) return new X962Parameters(optional3); return null; } public static X962Parameters GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return Asn1Utilities.GetTaggedChoice(taggedObject, declaredExplicit, GetInstance); } public X962Parameters(X9ECParameters ecParameters) { m_params = ecParameters.ToAsn1Object(); } public X962Parameters(DerObjectIdentifier namedCurve) { m_params = namedCurve; } public X962Parameters(Asn1Null obj) { m_params = obj; } private X962Parameters(Asn1Object obj) { m_params = obj; } public override Asn1Object ToAsn1Object() { return m_params; } } }