DHValidationParms
using System;
namespace Org.BouncyCastle.Asn1.X9
{
public class DHValidationParms : Asn1Encodable
{
private readonly DerBitString m_seed;
private readonly DerInteger m_pgenCounter;
public DerBitString Seed => m_seed;
public DerInteger PgenCounter => m_pgenCounter;
public static DHValidationParms GetInstance(object obj)
{
if (obj == null)
return null;
DHValidationParms dHValidationParms = obj as DHValidationParms;
if (dHValidationParms != null)
return dHValidationParms;
return new DHValidationParms(Asn1Sequence.GetInstance(obj));
}
public static DHValidationParms GetInstance(Asn1TaggedObject obj, bool isExplicit)
{
return new DHValidationParms(Asn1Sequence.GetInstance(obj, isExplicit));
}
public static DHValidationParms GetOptional(Asn1Encodable element)
{
if (element == null)
throw new ArgumentNullException("element");
DHValidationParms dHValidationParms = element as DHValidationParms;
if (dHValidationParms != null)
return dHValidationParms;
Asn1Sequence optional = Asn1Sequence.GetOptional(element);
if (optional != null)
return new DHValidationParms(optional);
return null;
}
public static DHValidationParms GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit)
{
return new DHValidationParms(Asn1Sequence.GetTagged(taggedObject, declaredExplicit));
}
private DHValidationParms(Asn1Sequence seq)
{
int count = seq.Count;
if (count != 2)
throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq");
m_seed = DerBitString.GetInstance(seq[0]);
m_pgenCounter = DerInteger.GetInstance(seq[1]);
}
public DHValidationParms(DerBitString seed, DerInteger pgenCounter)
{
if (seed == null)
throw new ArgumentNullException("seed");
m_seed = seed;
if (pgenCounter == null)
throw new ArgumentNullException("pgenCounter");
m_pgenCounter = pgenCounter;
}
public override Asn1Object ToAsn1Object()
{
return new DerSequence(m_seed, m_pgenCounter);
}
}
}