org.bouncycastle.cert.jcajce.JcaCRLStore 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.security.cert.CRLException;
import java.security.cert.X509CRL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import org.bouncycastle.cert.X509CRLHolder;
import org.bouncycastle.util.CollectionStore;
/**
* Class for storing CRLs for later lookup.
*
* The class will convert X509CRL objects into X509CRLHolder objects.
*
*/
public class JcaCRLStore
extends CollectionStore
{
/**
* Basic constructor.
*
* @param collection - initial contents for the store, this is copied.
*/
public JcaCRLStore(Collection collection)
throws CRLException
{
super(convertCRLs(collection));
}
private static Collection convertCRLs(Collection collection)
throws CRLException
{
List list = new ArrayList(collection.size());
for (Iterator it = collection.iterator(); it.hasNext();)
{
Object crl = it.next();
if (crl instanceof X509CRL)
{
try
{
list.add(new X509CRLHolder(((X509CRL)crl).getEncoded()));
}
catch (IOException e)
{
throw new CRLException("cannot read encoding: " + e.getMessage());
}
}
else
{
list.add((X509CRLHolder)crl);
}
}
return list;
}
}