Search in sources :

Example 1 with SMIMECapability

use of org.xipki.ca.certprofile.x509.jaxb.SMIMECapability in project xipki by xipki.

the class XmlX509Certprofile method initSmimeCapabilities.

private void initSmimeCapabilities(Set<ASN1ObjectIdentifier> extnIds, ExtensionsType extensionsType) throws CertprofileException {
    ASN1ObjectIdentifier type = ObjectIdentifiers.id_smimeCapabilities;
    if (!extensionControls.containsKey(type)) {
        return;
    }
    extnIds.remove(type);
    SMIMECapabilities extConf = (SMIMECapabilities) getExtensionValue(type, extensionsType, SMIMECapabilities.class);
    if (extConf == null) {
        return;
    }
    List<SMIMECapability> list = extConf.getSMIMECapability();
    ASN1EncodableVector vec = new ASN1EncodableVector();
    for (SMIMECapability m : list) {
        ASN1ObjectIdentifier oid = new ASN1ObjectIdentifier(m.getCapabilityID().getValue());
        ASN1Encodable params = null;
        org.xipki.ca.certprofile.x509.jaxb.SMIMECapability.Parameters capParams = m.getParameters();
        if (capParams != null) {
            if (capParams.getInteger() != null) {
                params = new ASN1Integer(capParams.getInteger());
            } else if (capParams.getBase64Binary() != null) {
                params = readAsn1Encodable(capParams.getBase64Binary().getValue());
            }
        }
        org.bouncycastle.asn1.smime.SMIMECapability cap = new org.bouncycastle.asn1.smime.SMIMECapability(oid, params);
        vec.add(cap);
    }
    ASN1Encodable extValue = new DERSequence(vec);
    smimeCapabilities = new ExtensionValue(extensionControls.get(type).isCritical(), extValue);
}
Also used : ASN1Integer(org.bouncycastle.asn1.ASN1Integer) DERSequence(org.bouncycastle.asn1.DERSequence) ExtensionValue(org.xipki.ca.api.profile.ExtensionValue) SMIMECapabilities(org.xipki.ca.certprofile.x509.jaxb.SMIMECapabilities) ASN1EncodableVector(org.bouncycastle.asn1.ASN1EncodableVector) SMIMECapability(org.xipki.ca.certprofile.x509.jaxb.SMIMECapability) ASN1Encodable(org.bouncycastle.asn1.ASN1Encodable) ASN1ObjectIdentifier(org.bouncycastle.asn1.ASN1ObjectIdentifier)

Example 2 with SMIMECapability

use of org.xipki.ca.certprofile.x509.jaxb.SMIMECapability in project xipki by xipki.

the class ProfileConfCreatorDemo method createSmimeCapabilities.

private static ExtensionValueType createSmimeCapabilities() {
    SMIMECapabilities caps = new SMIMECapabilities();
    // DES-EDE3-CBC
    SMIMECapability cap = new SMIMECapability();
    caps.getSMIMECapability().add(cap);
    cap.setCapabilityID(createOidType(new ASN1ObjectIdentifier("1.2.840.113549.3.7"), "DES-EDE3-CBC"));
    // RC2-CBC keysize 128
    cap = new SMIMECapability();
    caps.getSMIMECapability().add(cap);
    cap.setCapabilityID(createOidType(new ASN1ObjectIdentifier("1.2.840.113549.3.2"), "RC2-CBC"));
    cap.setParameters(new org.xipki.ca.certprofile.x509.jaxb.SMIMECapability.Parameters());
    cap.getParameters().setInteger(BigInteger.valueOf(128));
    // RC2-CBC keysize 64
    cap = new SMIMECapability();
    caps.getSMIMECapability().add(cap);
    cap.setCapabilityID(createOidType(new ASN1ObjectIdentifier("1.2.840.113549.3.2"), "RC2-CBC"));
    cap.setParameters(new org.xipki.ca.certprofile.x509.jaxb.SMIMECapability.Parameters());
    Base64BinaryWithDescType binary = new Base64BinaryWithDescType();
    try {
        binary.setValue(new ASN1Integer(64).getEncoded());
        binary.setDescription("INTEGER 64");
    } catch (IOException ex) {
        throw new RuntimeException(ex.getMessage());
    }
    cap.getParameters().setBase64Binary(binary);
    return createExtensionValueType(caps);
}
Also used : SMIMECapabilities(org.xipki.ca.certprofile.x509.jaxb.SMIMECapabilities) Base64BinaryWithDescType(org.xipki.ca.certprofile.x509.jaxb.Base64BinaryWithDescType) SMIMECapability(org.xipki.ca.certprofile.x509.jaxb.SMIMECapability) ASN1Integer(org.bouncycastle.asn1.ASN1Integer) IOException(java.io.IOException) ASN1ObjectIdentifier(org.bouncycastle.asn1.ASN1ObjectIdentifier)

Aggregations

ASN1Integer (org.bouncycastle.asn1.ASN1Integer)2 ASN1ObjectIdentifier (org.bouncycastle.asn1.ASN1ObjectIdentifier)2 SMIMECapabilities (org.xipki.ca.certprofile.x509.jaxb.SMIMECapabilities)2 SMIMECapability (org.xipki.ca.certprofile.x509.jaxb.SMIMECapability)2 IOException (java.io.IOException)1 ASN1Encodable (org.bouncycastle.asn1.ASN1Encodable)1 ASN1EncodableVector (org.bouncycastle.asn1.ASN1EncodableVector)1 DERSequence (org.bouncycastle.asn1.DERSequence)1 ExtensionValue (org.xipki.ca.api.profile.ExtensionValue)1 Base64BinaryWithDescType (org.xipki.ca.certprofile.x509.jaxb.Base64BinaryWithDescType)1