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