nl.open.jwtdependency.org.bouncycastle.asn1.smime.SMIMECapabilities Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-jwt-nodependencies Show documentation
Show all versions of java-jwt-nodependencies Show documentation
This is a drop in replacement for the auth0 java-jwt library (see https://github.com/auth0/java-jwt). This jar makes sure there are no external dependencies (e.g. fasterXml, Apacha Commons) needed. This is useful when deploying to an application server (e.g. tomcat with Alfreso or Pega).
The newest version!
package org.bouncycastle.asn1.smime;
import java.util.Enumeration;
import java.util.Vector;
import org.bouncycastle.asn1.ASN1Object;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.bouncycastle.asn1.ASN1Primitive;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.cms.Attribute;
import org.bouncycastle.asn1.nist.NISTObjectIdentifiers;
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
/**
* Handler class for dealing with S/MIME Capabilities
*/
public class SMIMECapabilities
extends ASN1Object
{
/**
* general preferences
*/
public static final ASN1ObjectIdentifier preferSignedData = PKCSObjectIdentifiers.preferSignedData;
public static final ASN1ObjectIdentifier canNotDecryptAny = PKCSObjectIdentifiers.canNotDecryptAny;
public static final ASN1ObjectIdentifier sMIMECapabilitesVersions = PKCSObjectIdentifiers.sMIMECapabilitiesVersions;
/**
* encryption algorithms preferences
*/
public static final ASN1ObjectIdentifier aes256_CBC = NISTObjectIdentifiers.id_aes256_CBC;
public static final ASN1ObjectIdentifier aes192_CBC = NISTObjectIdentifiers.id_aes192_CBC;
public static final ASN1ObjectIdentifier aes128_CBC = NISTObjectIdentifiers.id_aes128_CBC;
public static final ASN1ObjectIdentifier idea_CBC = new ASN1ObjectIdentifier("1.3.6.1.4.1.188.7.1.1.2");
public static final ASN1ObjectIdentifier cast5_CBC = new ASN1ObjectIdentifier("1.2.840.113533.7.66.10");
public static final ASN1ObjectIdentifier dES_CBC = new ASN1ObjectIdentifier("1.3.14.3.2.7");
public static final ASN1ObjectIdentifier dES_EDE3_CBC = PKCSObjectIdentifiers.des_EDE3_CBC;
public static final ASN1ObjectIdentifier rC2_CBC = PKCSObjectIdentifiers.RC2_CBC;
private ASN1Sequence capabilities;
/**
* return an Attribute object from the given object.
*
* @param o the object we want converted.
* @exception IllegalArgumentException if the object cannot be converted.
*/
public static SMIMECapabilities getInstance(
Object o)
{
if (o == null || o instanceof SMIMECapabilities)
{
return (SMIMECapabilities)o;
}
if (o instanceof ASN1Sequence)
{
return new SMIMECapabilities((ASN1Sequence)o);
}
if (o instanceof Attribute)
{
return new SMIMECapabilities(
(ASN1Sequence)(((Attribute)o).getAttrValues().getObjectAt(0)));
}
throw new IllegalArgumentException("unknown object in factory: " + o.getClass().getName());
}
public SMIMECapabilities(
ASN1Sequence seq)
{
capabilities = seq;
}
/**
* returns a vector with 0 or more objects of all the capabilities
* matching the passed in capability OID. If the OID passed is null the
* entire set is returned.
*/
public Vector getCapabilities(
ASN1ObjectIdentifier capability)
{
Enumeration e = capabilities.getObjects();
Vector list = new Vector();
if (capability == null)
{
while (e.hasMoreElements())
{
SMIMECapability cap = SMIMECapability.getInstance(e.nextElement());
list.addElement(cap);
}
}
else
{
while (e.hasMoreElements())
{
SMIMECapability cap = SMIMECapability.getInstance(e.nextElement());
if (capability.equals(cap.getCapabilityID()))
{
list.addElement(cap);
}
}
}
return list;
}
/**
* Produce an object suitable for an ASN1OutputStream.
*
* SMIMECapabilities ::= SEQUENCE OF SMIMECapability
*
*/
public ASN1Primitive toASN1Primitive()
{
return capabilities;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy