package org.bouncycastle.asn1.x9;
import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.ASN1TaggedObject;
import org.bouncycastle.asn1.DERBitString;
import org.bouncycastle.asn1.DERInteger;
import org.bouncycastle.asn1.DERObject;
import org.bouncycastle.asn1.DERSequence;
public class DHValidationParms extends ASN1Encodable
{
private DERBitString seed;
private DERInteger pgenCounter;
public static DHValidationParms getInstance(ASN1TaggedObject obj, boolean explicit)
{
return getInstance(ASN1Sequence.getInstance(obj, explicit));
}
public static DHValidationParms getInstance(Object obj)
{
if (obj == null || obj instanceof DHDomainParameters)
{
return (DHValidationParms)obj;
}
if (obj instanceof ASN1Sequence)
{
return new DHValidationParms((ASN1Sequence)obj);
}
throw new IllegalArgumentException("Invalid DHValidationParms: " + obj.getClass().getName());
}
public DHValidationParms(DERBitString seed, DERInteger pgenCounter)
{
if (seed == null)
{
throw new IllegalArgumentException("'seed' cannot be null");
}
if (pgenCounter == null)
{
throw new IllegalArgumentException("'pgenCounter' cannot be null");
}
this.seed = seed;
this.pgenCounter = pgenCounter;
}
private DHValidationParms(ASN1Sequence seq)
{
if (seq.size() != 2)
{
throw new IllegalArgumentException("Bad sequence size: " + seq.size());
}
this.seed = DERBitString.getInstance(seq.getObjectAt(0));
this.pgenCounter = DERInteger.getInstance(seq.getObjectAt(1));
}
public DERBitString getSeed()
{
return this.seed;
}
public DERInteger getPgenCounter()
{
return this.pgenCounter;
}
public DERObject toASN1Object()
{
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(this.seed);
v.add(this.pgenCounter);
return new DERSequence(v);
}
}