private CertTemplate(Asn1Sequence seq) { this.seq = seq; foreach (Asn1TaggedObject item in seq) { switch (item.TagNo) { case 0: version = DerInteger.GetInstance(item, isExplicit: false); break; case 1: serialNumber = DerInteger.GetInstance(item, isExplicit: false); break; case 2: signingAlg = AlgorithmIdentifier.GetInstance(item, explicitly: false); break; case 3: issuer = X509Name.GetInstance(item, explicitly: true); break; case 4: validity = OptionalValidity.GetInstance(Asn1Sequence.GetInstance(item, explicitly: false)); break; case 5: subject = X509Name.GetInstance(item, explicitly: true); break; case 6: publicKey = SubjectPublicKeyInfo.GetInstance(item, explicitly: false); break; case 7: issuerUID = DerBitString.GetInstance(item, isExplicit: false); break; case 8: subjectUID = DerBitString.GetInstance(item, isExplicit: false); break; case 9: extensions = X509Extensions.GetInstance(item, explicitly: false); break; default: throw new ArgumentException("unknown tag: " + item.TagNo, "seq"); } } }
public virtual CertTemplateBuilder SetValidity(OptionalValidity v) { validity = v; return(this); }