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

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

Introduction

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

Prototype

public ASN1Encodable getParameters() 

Source Link

Usage

From source file:com.jlocksmith.util.ExtensionUtil.java

License:Open Source License

/**
 * Get SMIME Capabilities String Value// w  w  w  . j  a  va 2  s .c  om
 * 
 * @param bytes
 * 
 * @return String
 * 
 * @throws IOException
 */
@SuppressWarnings("unchecked")
private String getSmimeCapabilitiesStringValue(byte[] bytes) throws IOException {
    SMIMECapabilities caps = SMIMECapabilities.getInstance(toDERObject(bytes));

    String sParams = localeUtil.getString("SmimeParameters");

    StringBuffer sb = new StringBuffer();

    for (Iterator<SMIMECapability> i = caps.getCapabilities(null).iterator(); i.hasNext();) {
        SMIMECapability cap = (SMIMECapability) i.next();

        String sCapId = cap.getCapabilityID().getId();
        String sCap = getResource(sCapId, "UnrecognisedSmimeCapability");

        sb.append(MessageFormat.format(sCap, new Object[] { sCapId }));

        DEREncodable params;

        if ((params = cap.getParameters()) != null) {
            sb.append("\n\t");
            sb.append(MessageFormat.format(sParams, new Object[] { getObjectString(params) }));
        }

        sb.append('\n');
    }

    return sb.toString();
}

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

License:Open Source License

public static List<SMIMECapabilityInfo> inspect(Collection<SMIMECapability> asn1Capabilities) {
    List<SMIMECapabilityInfo> capabilities = new LinkedList<SMIMECapabilityInfo>();

    for (SMIMECapability asn1Capability : asn1Capabilities) {
        String oid = asn1Capability.getCapabilityID().getId();
        BigInteger keySize = null;

        if (asn1Capability.getParameters() instanceof DERInteger) {
            keySize = ((DERInteger) asn1Capability.getParameters()).getValue();
        }/*  w  ww .  j a  v a2 s  .c o m*/

        SMIMECapabilityInfo capability = new SMIMECapabilityInfo(oid, keySize);

        capabilities.add(capability);
    }

    return capabilities;
}

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

License:Open Source License

private String getSMIMECapabilitiesStringValue(byte[] octets) throws IOException {

    // @formatter:off

    /*/*from   w w  w. j  a v a  2 s.  com*/
       SMIMECapabilities ::= SEQUENCE OF SMIMECapability
            
       SMIMECapability ::= SEQUENCE
       {
    capabilityID OBJECT IDENTIFIER,
    parameters ANY DEFINED BY capabilityID OPTIONAL
       }
     */

    // @formatter:on

    StringBuilder sb = new StringBuilder();

    int capabilityNr = 0;

    ASN1Sequence asn1Sequence = ASN1Sequence.getInstance(octets);
    for (ASN1Encodable asn1Encodable : asn1Sequence.toArray()) {
        SMIMECapability capability = SMIMECapability.getInstance(asn1Encodable);
        ASN1ObjectIdentifier oid = capability.getCapabilityID();
        ASN1Encodable parameters = capability.getParameters();

        sb.append(MessageFormat.format(res.getString("SMIMECapability"), ++capabilityNr));
        sb.append(NEWLINE);

        sb.append(INDENT);
        sb.append(MessageFormat.format(res.getString("SMIMECapability.ObjectID"), ObjectIdUtil.toString(oid)));
        sb.append(NEWLINE);

        if (parameters != null) {
            sb.append(INDENT);
            sb.append(MessageFormat.format(res.getString("SMIMECapability.Parameter"),
                    HexUtil.getHexString(parameters.toASN1Primitive().getEncoded())));
            sb.append(NEWLINE);
        }
    }

    return sb.toString();
}

From source file:net.sf.portecle.crypto.X509Ext.java

License:Open Source License

/**
 * Get S/MIME capabilities (1.2.840.113549.1.9.15) extension value as a string.
 * //from  www  . ja  v  a2  s .  com
 * <pre>
 * SMIMECapability ::= SEQUENCE {
 *   capabilityID OBJECT IDENTIFIER,
 *   parameters ANY DEFINED BY capabilityID OPTIONAL }
 * SMIMECapabilities ::= SEQUENCE OF SMIMECapability
 * </pre>
 * 
 * @see <a href="http://tools.ietf.org/html/rfc2633">RFC 2633</a>
 * @param bValue The octet string value
 * @return Extension value as a string
 * @throws IOException If an I/O problem occurs
 */
private String getSmimeCapabilitiesStringValue(byte[] bValue) throws IOException {
    SMIMECapabilities caps = SMIMECapabilities.getInstance(ASN1Primitive.fromByteArray(bValue));

    String sParams = RB.getString("SmimeParameters");

    StringBuilder sb = new StringBuilder();

    for (Object o : caps.getCapabilities(null)) {

        SMIMECapability cap = (SMIMECapability) o;

        String sCapId = cap.getCapabilityID().getId();
        String sCap = getRes(sCapId, "UnrecognisedSmimeCapability");

        if (sb.length() != 0) {
            sb.append("<br>");
        }
        sb.append("<ul><li>");
        sb.append(MessageFormat.format(sCap, sCapId));

        ASN1Encodable params;
        if ((params = cap.getParameters()) != null) {
            sb.append("<ul><li>");
            sb.append(sParams);
            sb.append(": ");
            sb.append(stringify(params));
            sb.append("</li></ul>");
        }

        sb.append("</li></ul>");
    }

    return sb.toString();
}