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 Show documentation
Show all versions of bcmail Show documentation
A patched bouncycastle-mail
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;
}
}