/** * Constructor for a holder for an v2 attribute certificate. * * * @param seq The ASN.1 sequence. */ private Holder( Asn1Sequence seq) { if (seq.Count > 3) { throw new ArgumentException("Bad sequence size: " + seq.Count); } for (int i = 0; i != seq.Count; i++) { Asn1TaggedObject tObj = Asn1TaggedObject.GetInstance(seq[i]); switch (tObj.TagNo) { case 0: baseCertificateID = IssuerSerial.GetInstance(tObj, false); break; case 1: entityName = GeneralNames.GetInstance(tObj, false); break; case 2: objectDigestInfo = ObjectDigestInfo.GetInstance(tObj, false); break; default: throw new ArgumentException("unknown tag in Holder"); } } this.version = 1; }
private V2Form( Asn1Sequence seq) { if (seq.Count > 3) { throw new ArgumentException("Bad sequence size: " + seq.Count); } int index = 0; if (!(seq[0] is Asn1TaggedObject)) { index++; this.issuerName = GeneralNames.GetInstance(seq[0]); } for (int i = index; i != seq.Count; i++) { Asn1TaggedObject o = Asn1TaggedObject.GetInstance(seq[i]); if (o.TagNo == 0) { baseCertificateID = IssuerSerial.GetInstance(o, false); } else if (o.TagNo == 1) { objectDigestInfo = ObjectDigestInfo.GetInstance(o, false); } else { throw new ArgumentException("Bad tag number: " + o.TagNo); } } }
/** * Constructor for a holder for an v1 attribute certificate. * * @param tagObj The ASN.1 tagged holder object. */ public Holder( Asn1TaggedObject tagObj) { switch (tagObj.TagNo) { case 0: baseCertificateID = IssuerSerial.GetInstance(tagObj, false); break; case 1: entityName = GeneralNames.GetInstance(tagObj, false); break; default: throw new ArgumentException("unknown tag in Holder"); } this.version = 0; }