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;
}
}
}