diff options
Diffstat (limited to 'prov/src/main/java/org/spongycastle/jce/provider/X509StoreCertPairCollection.java')
-rw-r--r-- | prov/src/main/java/org/spongycastle/jce/provider/X509StoreCertPairCollection.java | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/prov/src/main/java/org/spongycastle/jce/provider/X509StoreCertPairCollection.java b/prov/src/main/java/org/spongycastle/jce/provider/X509StoreCertPairCollection.java new file mode 100644 index 00000000..bd8f8ea8 --- /dev/null +++ b/prov/src/main/java/org/spongycastle/jce/provider/X509StoreCertPairCollection.java @@ -0,0 +1,64 @@ +package org.spongycastle.jce.provider; + +import java.util.Collection; + +import org.spongycastle.util.CollectionStore; +import org.spongycastle.util.Selector; +import org.spongycastle.x509.X509CollectionStoreParameters; +import org.spongycastle.x509.X509StoreParameters; +import org.spongycastle.x509.X509StoreSpi; + +/** + * This class is a collection based Bouncy Castle + * {@link org.spongycastle.x509.X509Store} SPI implementation for certificate + * pairs. + * + * @see org.spongycastle.x509.X509Store + * @see org.spongycastle.x509.X509CertificatePair + */ +public class X509StoreCertPairCollection extends X509StoreSpi +{ + + private CollectionStore _store; + + public X509StoreCertPairCollection() + { + } + + /** + * Initializes this store. + * + * @param params The {@link X509CollectionStoreParameters}s for this store. + * @throws IllegalArgumentException if <code>params</code> is no instance of + * <code>X509CollectionStoreParameters</code>. + */ + public void engineInit(X509StoreParameters params) + { + if (!(params instanceof X509CollectionStoreParameters)) + { + throw new IllegalArgumentException( + "Initialization parameters must be an instance of " + + X509CollectionStoreParameters.class.getName() + + "."); + } + + _store = new CollectionStore(((X509CollectionStoreParameters)params) + .getCollection()); + } + + /** + * Returns a colelction of certificate pairs which match the given + * <code>selector</code>. + * <p/> + * The returned collection contains + * {@link org.spongycastle.x509.X509CertificatePair}s. The selector must be + * a {@link org.spongycastle.x509.X509CertPairStoreSelector} to select + * certificate pairs. + * + * @return A collection with matching certificate pairs. + */ + public Collection engineGetMatches(Selector selector) + { + return _store.getMatches(selector); + } +} |