示例#1
0
        public ObjectDigestInfo(ASN1Sequence seq)
        {
            digestedObjectType = DEREnumerated.getInstance(seq.getObjectAt(0));

            int offset = 0;

            if (seq.size() == 4)
            {
                otherObjectTypeID = DERObjectIdentifier.getInstance(seq.getObjectAt(1));
                offset++;
            }

            digestAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1 + offset));

            objectDigest = new DERBitString(seq.getObjectAt(2 + offset));
        }
示例#2
0
        public static GeneralName getInstance(
            object obj)
        {
            if (obj == null || obj is GeneralName)
            {
                return((GeneralName)obj);
            }

            if (obj is ASN1TaggedObject)
            {
                ASN1TaggedObject tagObj = (ASN1TaggedObject)obj;
                int tag = (int)tagObj.getTagNo();

                switch (tag)
                {
                case 0:
                    return(new GeneralName(tagObj.getObject(), tag));

                case 1:
                    return(new GeneralName(DERIA5String.getInstance(tagObj, false), tag));

                case 2:
                    return(new GeneralName(DERIA5String.getInstance(tagObj, false), tag));

                case 3:
                    throw new ArgumentException("unknown tag: " + tag);

                case 4:
                    return(new GeneralName(tagObj.getObject(), tag));

                case 5:
                    return(new GeneralName(tagObj.getObject(), tag));

                case 6:
                    return(new GeneralName(DERIA5String.getInstance(tagObj, false), tag));

                case 7:
                    return(new GeneralName(ASN1OctetString.getInstance(tagObj, false), tag));

                case 8:
                    return(new GeneralName(DERObjectIdentifier.getInstance(tagObj, false), tag));
                }
            }

            throw new ArgumentException("unknown object in getInstance");
        }
示例#3
0
 public OtherRecipientInfo(
     ASN1Sequence seq)
 {
     oriType  = DERObjectIdentifier.getInstance(seq.getObjectAt(1));
     oriValue = seq.getObjectAt(2);
 }