Esempio n. 1
0
        public AttributeCertificateInfo(
            ASN1Sequence seq)
        {
            this.version                = DERInteger.getInstance(seq.getObjectAt(0));
            this.holder                 = Holder.getInstance(seq.getObjectAt(1));
            this.issuer                 = AttCertIssuer.getInstance(seq.getObjectAt(2));
            this.signature              = AlgorithmIdentifier.getInstance(seq.getObjectAt(3));
            this.serialNumber           = DERInteger.getInstance(seq.getObjectAt(4));
            this.attrCertValidityPeriod = AttCertValidityPeriod.getInstance(seq.getObjectAt(5));
            this.attributes             = ASN1Sequence.getInstance(seq.getObjectAt(6));

            for (int i = 7; i < seq.size(); i++)
            {
                ASN1Encodable obj = (ASN1Encodable)seq.getObjectAt(i);

                if (obj is DERBitString)
                {
                    this.issuerUniqueID = DERBitString.getInstance(seq.getObjectAt(i));
                }
                else if (obj is ASN1Sequence || obj is X509Extensions)
                {
                    this.extensions = X509Extensions.getInstance(seq.getObjectAt(i));
                }
            }
        }
Esempio n. 2
0
        public static PolicyInformation getInstance(
            object obj)
        {
            if (obj == null || obj is PolicyInformation)
            {
                return((PolicyInformation)obj);
            }

            return(new PolicyInformation(ASN1Sequence.getInstance(obj)));
        }
Esempio n. 3
0
        public Signature(
            ASN1Sequence seq)
        {
            signatureAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0));
            signature          = (DERBitString)seq.getObjectAt(1);

            if (seq.size() == 3)
            {
                certs = ASN1Sequence.getInstance(
                    (ASN1TaggedObject)seq.getObjectAt(2), true);
            }
        }
Esempio n. 4
0
        public BasicOCSPResponse(
            ASN1Sequence seq)
        {
            this.tbsResponseData    = ResponseData.getInstance(seq.getObjectAt(0));
            this.signatureAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1));
            this.signature          = (DERBitString)seq.getObjectAt(2);

            if (seq.size() > 3)
            {
                this.certs = ASN1Sequence.getInstance((ASN1TaggedObject)seq.getObjectAt(3), true);
            }
        }
Esempio n. 5
0
        private X509Certificate readPKCS7Certificate()
        {
            ASN1InputStream dIn = new ASN1InputStream(inStr);
            ASN1Sequence    seq = (ASN1Sequence)dIn.readObject();

            if (seq.size() > 1 && seq.getObjectAt(0) is DERObjectIdentifier)
            {
                if (seq.getObjectAt(0).Equals(PKCSObjectIdentifiers.signedData))
                {
                    sData = new SignedData(ASN1Sequence.getInstance((ASN1TaggedObject)seq.getObjectAt(1), true));
                    return(new X509Certificate(ASN1Sequence.getInstance(sData.getCertificates().getObjectAt(sDataObjectCount++))));
                }
            }
            return(new X509Certificate(ASN1Sequence.getInstance(seq)));
        }
Esempio n. 6
0
        public static GeneralSubtree getInstance(
            object obj)
        {
            if (obj == null)
            {
                return(null);
            }

            if (obj is GeneralSubtree)
            {
                return((GeneralSubtree)obj);
            }

            return(new GeneralSubtree(ASN1Sequence.getInstance(obj)));
        }
Esempio n. 7
0
        public NameConstraints(
            ASN1Sequence seq)
        {
            IEnumerator e = seq.getObjects();

            while (e.MoveNext())
            {
                ASN1TaggedObject o = (ASN1TaggedObject)e.Current;
                switch ((int)o.getTagNo())
                {
                case 0:
                    permitted = ASN1Sequence.getInstance(o, false);
                    break;

                case 1:
                    excluded = ASN1Sequence.getInstance(o, false);
                    break;
                }
            }
        }
Esempio n. 8
0
        X509Certificate parseCertificate()
        {
            if (sData != null && sDataObjectCount != sData.getCertificates().size())
            {
                return(new X509Certificate(
                           ASN1Sequence.getInstance(
                               sData.getCertificates().getObjectAt(sDataObjectCount++))));
            }

            sData            = null;
            sDataObjectCount = 0;

            long pos = inStr.Position;

            int tag = inStr.ReadByte();

            if (tag == -1)
            {
                return(null);
            }

            if (tag != 0x30)  // assume ascii PEM encoded.
            {
                inStr.Seek(pos, SeekOrigin.Begin);
                return(readPEMCertificate());
            }
            else if (inStr.ReadByte() == 0x80)    // assume BER encoded.
            {
                inStr.Seek(pos, SeekOrigin.Begin);
                return(readPKCS7Certificate());
            }
            else
            {
                inStr.Seek(pos, SeekOrigin.Begin);
                return(readDERCertificate(inStr));
            }
        }
Esempio n. 9
0
 public static AttributeCertificateInfo getInstance(
     ASN1TaggedObject obj,
     bool isExplicit)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, isExplicit)));
 }
Esempio n. 10
0
 public static X509CertificateStructure getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 11
0
 /**
  * return a RecipientKeyIdentifier object from a tagged object.
  *
  * @param _ato the tagged object holding the object we want.
  * @param _explicit true if the object is meant to be explicitly
  *              tagged false otherwise.
  * @exception IllegalArgumentException if the object held by the
  *          tagged object cannot be converted.
  */
 public static RecipientKeyIdentifier getInstance(ASN1TaggedObject _ato, bool _explicit)
 {
     return(getInstance(ASN1Sequence.getInstance(_ato, _explicit)));
 }
Esempio n. 12
0
 public static AttCertValidityPeriod getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 13
0
 /**
  * return an EnvelopedData object from a tagged object.
  *
  * @param obj the tagged object holding the object we want.
  * @param explicit true if the object is meant to be explicitly
  *              tagged false otherwise.
  * @exception IllegalArgumentException if the object held by the
  *          tagged object cannot be converted.
  */
 public static EnvelopedData getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 14
0
 public static RSAPublicKeyStructure getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 15
0
 public static AlgorithmIdentifier getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 16
0
 public static ObjectDigestInfo getInstance(
     ASN1TaggedObject obj,
     bool isExplicit)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, isExplicit)));
 }
Esempio n. 17
0
 public static DistributionPoint getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 18
0
 public static DSAParameter getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 19
0
 public static GeneralSubtree getInstance(
     ASN1TaggedObject o,
     bool explicitly)
 {
     return(new GeneralSubtree(ASN1Sequence.getInstance(o, explicitly)));
 }
Esempio n. 20
0
 public static IssuerSerial getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 21
0
 public static X509Extensions getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 22
0
 public static RevokedInfo getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 23
0
 /**
  * return an OriginatorPublicKey object from a tagged object.
  *
  * @param obj the tagged object holding the object we want.
  * @param explicit true if the object is meant to be explicitly
  *              tagged false otherwise.
  * @exception IllegalArgumentException if the object held by the
  *          tagged object cannot be converted.
  */
 public static OriginatorPublicKey getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 24
0
 /**
  * return a CompressedData object from a tagged object.
  *
  * @param _ato the tagged object holding the object we want.
  * @param _explicit true if the object is meant to be explicitly
  *              tagged false otherwise.
  * @exception IllegalArgumentException if the object held by the
  *          tagged object cannot be converted.
  */
 public static CompressedData getInstance(
     ASN1TaggedObject _ato,
     bool _explicit)
 {
     return(getInstance(ASN1Sequence.getInstance(_ato, _explicit)));
 }
Esempio n. 25
0
 public static BasicOCSPResponse getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 26
0
 public static ExtendedKeyUsage getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 27
0
 public static ResponseBytes getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 28
0
 public static CertID getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 29
0
 /**
  * return a KEKRecipientInfo object from a tagged object.
  *
  * @param obj the tagged object holding the object we want.
  * @param explicit true if the object is meant to be explicitly
  *              tagged false otherwise.
  * @exception IllegalArgumentException if the object held by the
  *          tagged object cannot be converted.
  */
 public static KEKRecipientInfo getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }
Esempio n. 30
0
 public static GeneralNames getInstance(
     ASN1TaggedObject obj,
     bool explicitly)
 {
     return(getInstance(ASN1Sequence.getInstance(obj, explicitly)));
 }