X962Parameters
using System;
namespace Org.BouncyCastle.Asn1.X9
{
public class X962Parameters : Asn1Encodable, IAsn1Choice
{
private readonly Asn1Object _params;
public bool IsNamedCurve => _params is DerObjectIdentifier;
public bool IsImplicitlyCA => _params is Asn1Null;
public Asn1Object Parameters => _params;
public static X962Parameters GetInstance(object obj)
{
if (obj == null)
return null;
X962Parameters x962Parameters = obj as X962Parameters;
if (x962Parameters != null)
return x962Parameters;
Asn1Object asn1Object = obj as Asn1Object;
if (asn1Object != null)
return new X962Parameters(asn1Object);
byte[] array = obj as byte[];
if (array != null)
try {
return new X962Parameters(Asn1Object.FromByteArray(array));
} catch (Exception ex) {
throw new ArgumentException("unable to parse encoded data: " + ex.Message, ex);
}
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)
{
_params = ecParameters.ToAsn1Object();
}
public X962Parameters(DerObjectIdentifier namedCurve)
{
_params = namedCurve;
}
public X962Parameters(Asn1Null obj)
{
_params = obj;
}
private X962Parameters(Asn1Object obj)
{
_params = obj;
}
public override Asn1Object ToAsn1Object()
{
return _params;
}
}
}