Example usage for org.bouncycastle.asn1.smime SMIMEAttributes smimeCapabilities

List of usage examples for org.bouncycastle.asn1.smime SMIMEAttributes smimeCapabilities

Introduction

In this page you can find the example usage for org.bouncycastle.asn1.smime SMIMEAttributes smimeCapabilities.

Prototype

ASN1ObjectIdentifier smimeCapabilities

To view the source code for org.bouncycastle.asn1.smime SMIMEAttributes smimeCapabilities.

Click Source Link

Usage

From source file:mitm.common.security.smime.SMIMEAttributeUtils.java

License:Open Source License

/**
 * Returns a list of SMIMECapability objects if the AttributeTable contains the 
 * smimeCapabilities attribute. If no attributes are found an empty list is returned.
 * //from w  w w  . j av  a  2s.co m
 * @param attributes
 */
public static List<SMIMECapability> getSMIMECapabilities(AttributeTable attributes) {
    List<SMIMECapability> capabilities = new LinkedList<SMIMECapability>();

    if (attributes != null) {
        Attribute attr = attributes.get(SMIMEAttributes.smimeCapabilities);

        if (attr != null) {
            ASN1Set set = attr.getAttrValues();

            if (set != null && set.size() > 0) {
                ASN1Encodable obj = set.getObjectAt(0);

                if (obj instanceof ASN1Sequence) {
                    ASN1Sequence sequence = (ASN1Sequence) obj;

                    for (int i = 0; i < sequence.size(); i++) {
                        ASN1Encodable der = sequence.getObjectAt(i);

                        if (der instanceof ASN1Sequence) {
                            SMIMECapability capability = new SMIMECapability((ASN1Sequence) der);

                            capabilities.add(capability);
                        }
                    }
                }
            }
        }
    }

    return capabilities;
}