Example usage for org.bouncycastle.asn1 ASN1Sequence getObjectAt

List of usage examples for org.bouncycastle.asn1 ASN1Sequence getObjectAt

Introduction

In this page you can find the example usage for org.bouncycastle.asn1 ASN1Sequence getObjectAt.

Prototype

public ASN1Encodable getObjectAt(int index) 

Source Link

Document

Return the object at the sequence position indicated by index.

Usage

From source file:com.novosec.pkix.asn1.cmp.PKIMessage.java

License:Open Source License

public PKIMessage(ASN1Sequence seq) {
    Enumeration e = seq.getObjects();

    /*/*  w w  w.  ja  v a2s.c om*/
          header     = PKIHeader.getInstance( e.nextElement() );
          body       = PKIBody.getInstance( (ASN1TaggedObject)e.nextElement() );
    */

    DEREncodable derHeader = (DEREncodable) e.nextElement();
    DEREncodable derBody = (DEREncodable) e.nextElement();

    try {
        //store protected part in unmodified form...
        ASN1EncodableVector v = new ASN1EncodableVector();
        v.add(derHeader);
        v.add(derBody);

        ByteArrayOutputStream bao = new ByteArrayOutputStream();
        DEROutputStream out = new DEROutputStream(bao);
        out.writeObject(new DERSequence(v));

        protectedBytes = bao.toByteArray();
    } catch (Exception ex) {
    }

    header = PKIHeader.getInstance(derHeader);
    body = PKIBody.getInstance((ASN1TaggedObject) derBody);

    while (e.hasMoreElements()) {
        ASN1TaggedObject tagObj = (ASN1TaggedObject) e.nextElement();

        switch (tagObj.getTagNo()) {
        case 0:
            protection = DERBitString.getInstance(tagObj.getObject());
            break;
        case 1:
            ASN1Sequence s = (ASN1Sequence) tagObj.getObject();
            for (int i = 0; i < s.size(); i++) {
                extraCerts.addElement(X509CertificateStructure.getInstance(s.getObjectAt(i)));
            }
            break;
        }
    }
}

From source file:com.novosec.pkix.asn1.cmp.PKIStatusInfo.java

License:Open Source License

public PKIStatusInfo(ASN1Sequence seq) {
    this.status = DERInteger.getInstance(seq.getObjectAt(0));

    this.statusString = null;
    this.failInfo = null;

    if (seq.size() > 2) {
        this.statusString = PKIFreeText.getInstance(seq.getObjectAt(1));
        this.failInfo = DERBitString.getInstance(seq.getObjectAt(2));
    } else if (seq.size() > 1) {
        Object obj = seq.getObjectAt(1);

        if (obj instanceof ASN1Sequence) {
            this.statusString = PKIFreeText.getInstance(obj);
        } else {/*from  w  ww . j ava 2  s .  c  o  m*/
            this.failInfo = DERBitString.getInstance(obj);
        }
    }
}

From source file:com.novosec.pkix.asn1.cmp.ProtectedPart.java

License:Open Source License

public ProtectedPart(ASN1Sequence seq) {
    this.header = PKIHeader.getInstance(seq.getObjectAt(0));
    this.body = PKIBody.getInstance((ASN1TaggedObject) seq.getObjectAt(1));
}

From source file:com.novosec.pkix.asn1.cmp.RevAnnContent.java

License:Open Source License

public RevAnnContent(ASN1Sequence seq) {
    this.status = DERInteger.getInstance(seq.getObjectAt(0));
    this.certId = CertId.getInstance(seq.getObjectAt(1));
    this.willBeRevokedAt = DERGeneralizedTime.getInstance(seq.getObjectAt(2));
    this.badSinceDate = DERGeneralizedTime.getInstance(seq.getObjectAt(3));

    if (seq.size() > 4) {
        this.crlDetails = X509Extensions.getInstance(seq.getObjectAt(4));
    }//www  .  j  ava2  s  . c o  m
}

From source file:com.novosec.pkix.asn1.cmp.RevDetails.java

License:Open Source License

public RevDetails(ASN1Sequence seq) {
    this.certDetails = CertTemplate.getInstance(seq.getObjectAt(0));

    int idx = 1;//  w w w .  j  av  a  2  s .c o  m

    Object obj = null;

    if (idx < seq.size()) {
        obj = seq.getObjectAt(idx++);
    }

    if (obj instanceof DERBitString) {
        this.revocationReason = DERBitString.getInstance(obj);
        if (idx < seq.size()) {
            obj = seq.getObjectAt(idx++);
        } else {
            obj = null;
        }
    }

    if (obj instanceof DERGeneralizedTime) {
        this.badSinceDate = DERGeneralizedTime.getInstance(obj);
        if (idx < seq.size()) {
            obj = seq.getObjectAt(idx++);
        } else {
            obj = null;
        }
    }

    if (obj instanceof ASN1Sequence) {
        this.crlEntryDetails = X509Extensions.getInstance(obj);
        if (idx < seq.size()) {
            obj = seq.getObjectAt(idx++);
        } else {
            obj = null;
        }
    }

    if (obj != null) {
        throw new IllegalArgumentException("unknown object in factory");
    }
}

From source file:com.novosec.pkix.asn1.crmf.AttributeTypeAndValue.java

License:Open Source License

public AttributeTypeAndValue(ASN1Sequence seq) {
    type = (DERObjectIdentifier) seq.getObjectAt(0);
    value = seq.getObjectAt(1);
}

From source file:com.novosec.pkix.asn1.crmf.CertId.java

License:Open Source License

public CertId(ASN1Sequence seq) {
    this.issuer = GeneralName.getInstance((ASN1TaggedObject) seq.getObjectAt(0), true); //QQQ??? implicit because inside of a seq
    this.serialNumber = (DERInteger) seq.getObjectAt(1);
}

From source file:com.novosec.pkix.asn1.crmf.CertReqMessages.java

License:Open Source License

public CertReqMessages(ASN1Sequence seq) {
    for (int i = 0; i < seq.size(); i++) {
        certReqMsgs.addElement(CertReqMsg.getInstance(seq.getObjectAt(i)));
    }/*from  w w  w . j a  v  a 2s  .  c  om*/
}

From source file:com.novosec.pkix.asn1.crmf.CertReqMsg.java

License:Open Source License

public CertReqMsg(ASN1Sequence seq) {
    Enumeration e = seq.getObjects();
    this.certReq = CertRequest.getInstance(e.nextElement());

    Object obj = null;/*from w  w  w .j a  v a  2 s.  c o  m*/

    if (e.hasMoreElements()) {
        obj = e.nextElement();
    }

    if (obj instanceof ASN1TaggedObject) {
        this.pop = ProofOfPossession.getInstance((ASN1TaggedObject) obj);

        if (e.hasMoreElements()) {
            obj = e.nextElement();
        }
    }

    if (obj instanceof ASN1Sequence) {
        ASN1Sequence s = (ASN1Sequence) obj;
        for (int i = 0; i < s.size(); i++) {
            regInfos.addElement(AttributeTypeAndValue.getInstance(s.getObjectAt(i)));
        }
    }
}

From source file:com.novosec.pkix.asn1.crmf.CertRequest.java

License:Open Source License

public CertRequest(ASN1Sequence seq) {
    this.certReqId = DERInteger.getInstance(seq.getObjectAt(0));
    this.certTemplate = CertTemplate.getInstance(seq.getObjectAt(1));
    if (seq.size() > 2) {
        ASN1Sequence s = (ASN1Sequence) seq.getObjectAt(2);
        for (int i = 0; i < s.size(); i++) {
            controls.addElement(AttributeTypeAndValue.getInstance(s.getObjectAt(i)));
        }//from w w w. ja v a2s.co  m
    }
}