Example usage for org.bouncycastle.asn1.smime SMIMECapability SMIMECapability

List of usage examples for org.bouncycastle.asn1.smime SMIMECapability SMIMECapability

Introduction

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

Prototype

public SMIMECapability(ASN1Sequence seq) 

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 a  va2  s .  c o 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;
}