private DHDomainParameters(Asn1Sequence seq) { if (seq.Count < 3 || seq.Count > 5) { throw new ArgumentException("Bad sequence size: " + seq.Count, "seq"); } IEnumerator e = seq.GetEnumerator(); this.p = DerInteger.GetInstance(GetNext(e)); this.g = DerInteger.GetInstance(GetNext(e)); this.q = DerInteger.GetInstance(GetNext(e)); Asn1Encodable next = GetNext(e); if (next != null && next is DerInteger) { this.j = DerInteger.GetInstance(next); next = GetNext(e); } if (next != null) { this.validationParms = DHValidationParms.GetInstance(next.ToAsn1Object()); } }