コード例 #1
0
        public static ResponderID getInstance(
            object obj)
        {
            if (obj == null || obj is ResponderID)
            {
                return((ResponderID)obj);
            }
            else if (obj is DEROctetString)
            {
                return(new ResponderID((DEROctetString)obj));
            }
            else if (obj is ASN1TaggedObject)
            {
                ASN1TaggedObject o = (ASN1TaggedObject)obj;

                if ((int)o.getTagNo() == 1)
                {
                    return(new ResponderID(X509Name.getInstance(o, true)));
                }
                else
                {
                    return(new ResponderID(ASN1OctetString.getInstance(o, true)));
                }
            }

            return(new ResponderID(X509Name.getInstance(obj)));
        }
コード例 #2
0
        public CertificationRequestInfo(
            ASN1Sequence seq)
        {
            version = (DERInteger)seq.getObjectAt(0);

            subject       = X509Name.getInstance(seq.getObjectAt(1));
            subjectPKInfo = SubjectPublicKeyInfo.getInstance(seq.getObjectAt(2));

            //
            // some CertificationRequestInfo objects seem to treat this field
            // as optional.
            //
            if (seq.size() > 3)
            {
                DERTaggedObject tagobj = (DERTaggedObject)seq.getObjectAt(3);
                attributes = ASN1Set.getInstance(tagobj, false);
            }

            if ((subject == null) || (version == null) || (subjectPKInfo == null))
            {
                throw new ArgumentException("Not all mandatory fields set in CertificationRequestInfo generator.");
            }
        }
コード例 #3
0
 public IssuerAndSerialNumber(
     ASN1Sequence seq)
 {
     this.name             = X509Name.getInstance(seq.getObjectAt(0));
     this.certSerialNumber = (DERInteger)seq.getObjectAt(1);
 }