org.bouncycastle.cert.jcajce.JcaAttrCertStore Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcmail-jdk16 Show documentation
Show all versions of bcmail-jdk16 Show documentation
The Bouncy Castle Java CMS and S/MIME APIs for handling the CMS and S/MIME protocols. This jar contains CMS and S/MIME APIs for JDK 1.6. The APIs can be used in conjunction with a JCE/JCA provider such as the one provided with the Bouncy Castle Cryptography APIs. If the S/MIME API is used, the JavaMail API and the Java activation framework will also be needed.
The newest version!
package org.bouncycastle.cert.jcajce;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import org.bouncycastle.util.CollectionStore;
import org.bouncycastle.x509.X509AttributeCertificate;
/**
* Class for storing Attribute Certificates for later lookup.
*
* The class will convert X509AttributeCertificate objects into X509AttributeCertificateHolder objects.
*
*/
public class JcaAttrCertStore
extends CollectionStore
{
/**
* Basic constructor.
*
* @param collection - initial contents for the store, this is copied.
*/
public JcaAttrCertStore(Collection collection)
throws IOException
{
super(convertCerts(collection));
}
public JcaAttrCertStore(X509AttributeCertificate attrCert)
throws IOException
{
this(Collections.singletonList(attrCert));
}
private static Collection convertCerts(Collection collection)
throws IOException
{
List list = new ArrayList(collection.size());
for (Iterator it = collection.iterator(); it.hasNext();)
{
Object o = it.next();
if (o instanceof X509AttributeCertificate)
{
X509AttributeCertificate cert = (X509AttributeCertificate)o;
list.add(new JcaX509AttributeCertificateHolder(cert));
}
else
{
list.add(o);
}
}
return list;
}
}