Пример #1
0
    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");
            }
        }
    }
Пример #2
0
 public virtual CertTemplateBuilder SetValidity(OptionalValidity v)
 {
     validity = v;
     return(this);
 }