Example usage for org.bouncycastle.asn1 DERBitString getInstance

List of usage examples for org.bouncycastle.asn1 DERBitString getInstance

Introduction

In this page you can find the example usage for org.bouncycastle.asn1 DERBitString getInstance.

Prototype

public static DERBitString getInstance(Object obj) 

Source Link

Document

return a Bit String from the passed in object

Usage

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

License:Open Source License

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

    while (e.hasMoreElements()) {
        Object obj = e.nextElement();

        if (obj instanceof ASN1TaggedObject) {
            ASN1TaggedObject tagObj = (ASN1TaggedObject) obj;

            switch (tagObj.getTagNo()) {
            case 0:
                hashAlg = AlgorithmIdentifier.getInstance(tagObj.getObject());
                break;
            case 1:
                certId = CertId.getInstance(tagObj.getObject());
                break;
            }/*from  w  w w.j av a 2  s .co m*/
        } else {
            hashVal = DERBitString.getInstance(obj);

            break;
        }
    }
}

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

License:Open Source License

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

    /*//from   www.j  a va  2s  .co  m
          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  a  v a 2 s  . c o  m
            this.failInfo = DERBitString.getInstance(obj);
        }
    }
}

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;//from  ww  w.  j  a  v a  2  s  .co 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.EncryptedValue.java

License:Open Source License

public EncryptedValue(ASN1Sequence seq) {
    Enumeration e = seq.getObjects();
    while (e.hasMoreElements()) {
        Object obj = e.nextElement();

        if (obj instanceof DERTaggedObject) {
            DERTaggedObject tagObj = (DERTaggedObject) obj;

            switch (tagObj.getTagNo()) {
            case 0:
                this.intendedAlg = AlgorithmIdentifier.getInstance(tagObj.getObject());
                break;
            case 1:
                this.symmAlg = AlgorithmIdentifier.getInstance(tagObj.getObject());
                break;
            case 2:
                this.encSymmKey = DERBitString.getInstance(tagObj.getObject());
                break;
            case 3:
                this.keyAlg = AlgorithmIdentifier.getInstance(tagObj.getObject());
                break;
            case 4:
                this.valueHint = (DEROctetString) DEROctetString.getInstance(tagObj.getObject());
                break;
            }/*from w ww  .j a  v a 2 s  .c  o  m*/
        } else {
            encValue = DERBitString.getInstance(obj);
            break;
        }
    }
}

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

License:Open Source License

public PKMACValue(ASN1Sequence seq) {
    this.algId = AlgorithmIdentifier.getInstance(seq.getObjectAt(0));
    this.value = DERBitString.getInstance(seq.getObjectAt(1));
}

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

License:Open Source License

public static POPOPrivKey getInstance(ASN1TaggedObject tagObj, boolean explicit) {
    int tag = tagObj.getTagNo();

    switch (tag) {
    case 0://  w  w  w.j a  v  a2  s. co m
        return new POPOPrivKey(DERBitString.getInstance(tagObj.getObject()), 0);
    case 1:
        return new POPOPrivKey(DERInteger.getInstance(tagObj.getObject()), 1);
    case 2:
        return new POPOPrivKey(DERBitString.getInstance(tagObj.getObject()), 2);
    }

    throw new IllegalArgumentException("unknown tag: " + tag);
}

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

License:Open Source License

public POPOSigningKey(ASN1Sequence seq) {
    int idx = 0;//  w w  w  .  j  av a2 s . com
    Object obj = seq.getObjectAt(idx++);

    if (obj instanceof ASN1TaggedObject) {
        ASN1TaggedObject tagObj = (ASN1TaggedObject) obj;
        if (tagObj.getTagNo() == 0) {
            this.poposkInput = POPOSigningKeyInput.getInstance(tagObj.getObject());
        } else {
            throw new IllegalArgumentException("unknown tag: " + tagObj.getTagNo());
        }
    } else {
        idx--;
    }

    this.algorithmIdentifier = AlgorithmIdentifier.getInstance(seq.getObjectAt(idx++));
    this.signature = DERBitString.getInstance(seq.getObjectAt(idx));
}

From source file:de.tsenger.animamea.asn1.SubjectPublicKeyInfo.java

License:Open Source License

/**
 * @param seq//from ww w.  ja  va  2  s  . c  om
 */
public SubjectPublicKeyInfo(ASN1Sequence seq) {
    algorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0));
    subjectPublicKey = DERBitString.getInstance((seq.getObjectAt(1)));
}

From source file:net.sf.keystore_explorer.crypto.x509.X509Ext.java

License:Open Source License

private String getKeyUsageStringValue(byte[] value) throws IOException {
    // @formatter:off

    /*/*from   w w w .j  a va 2  s. c  o  m*/
     * KeyUsage ::= BIT STRING { digitalSignature (0), nonRepudiation (1),
     * keyEncipherment (2), dataEncipherment (3), keyAgreement (4),
     * keyCertSign (5), cRLSign (6), encipherOnly (7), decipherOnly (8) }
     */

    // @formatter:on

    DERBitString keyUsage = DERBitString.getInstance(ASN1Primitive.fromByteArray(value));

    int keyUsages = keyUsage.intValue();

    StringBuilder sb = new StringBuilder();

    if (hasKeyUsage(keyUsages, KeyUsage.digitalSignature)) {
        sb.append(res.getString("DigitalSignatureKeyUsage"));
        sb.append(NEWLINE);
    }
    if (hasKeyUsage(keyUsages, KeyUsage.nonRepudiation)) {
        sb.append(res.getString("NonRepudiationKeyUsage"));
        sb.append(NEWLINE);
    }
    if (hasKeyUsage(keyUsages, KeyUsage.keyEncipherment)) {
        sb.append(res.getString("KeyEnciphermentKeyUsage"));
        sb.append(NEWLINE);
    }
    if (hasKeyUsage(keyUsages, KeyUsage.dataEncipherment)) {
        sb.append(res.getString("DataEnciphermentKeyUsage"));
        sb.append(NEWLINE);
    }
    if (hasKeyUsage(keyUsages, KeyUsage.keyAgreement)) {
        sb.append(res.getString("KeyAgreementKeyUsage"));
        sb.append(NEWLINE);
    }
    if (hasKeyUsage(keyUsages, KeyUsage.keyCertSign)) {
        sb.append(res.getString("KeyCertSignKeyUsage"));
        sb.append(NEWLINE);
    }
    if (hasKeyUsage(keyUsages, KeyUsage.cRLSign)) {
        sb.append(res.getString("CrlSignKeyUsage"));
        sb.append(NEWLINE);
    }
    if (hasKeyUsage(keyUsages, KeyUsage.encipherOnly)) {
        sb.append(res.getString("EncipherOnlyKeyUsage"));
        sb.append(NEWLINE);
    }
    if (hasKeyUsage(keyUsages, KeyUsage.decipherOnly)) {
        sb.append(res.getString("DecipherOnlyKeyUsage"));
        sb.append(NEWLINE);
    }

    return sb.toString();
}