private AttributeCertificateInfo(Asn1Sequence seq)
 {
     if (seq.Count < 7 || seq.Count > 9)
     {
         throw new ArgumentException("Bad sequence size: " + seq.Count);
     }
     version                = DerInteger.GetInstance(seq[0]);
     holder                 = Holder.GetInstance(seq[1]);
     issuer                 = AttCertIssuer.GetInstance(seq[2]);
     signature              = AlgorithmIdentifier.GetInstance(seq[3]);
     serialNumber           = DerInteger.GetInstance(seq[4]);
     attrCertValidityPeriod = AttCertValidityPeriod.GetInstance(seq[5]);
     attributes             = Asn1Sequence.GetInstance(seq[6]);
     for (int i = 7; i < seq.Count; i++)
     {
         Asn1Encodable asn1Encodable = seq[i];
         if (asn1Encodable is DerBitString)
         {
             issuerUniqueID = DerBitString.GetInstance(seq[i]);
         }
         else if (asn1Encodable is Asn1Sequence || asn1Encodable is X509Extensions)
         {
             extensions = X509Extensions.GetInstance(seq[i]);
         }
     }
 }