diff options
author | Roberto Tyley <roberto.tyley@gmail.com> | 2014-07-15 01:38:01 +0400 |
---|---|---|
committer | Roberto Tyley <roberto.tyley@gmail.com> | 2014-07-26 11:23:17 +0400 |
commit | 7cb752aaf746dc0b473afeb9e892b7fbc12666c5 (patch) | |
tree | cc4f91ddc18332b5adbe82e3fcb040d976c90105 /prov/src/main/java/org/spongycastle/x509/X509Store.java | |
parent | 551830f8ea5177042af2c7dd1fc90888bc67387d (diff) |
Execute become-spongy.sh
https://github.com/rtyley/spongycastle/blob/3040af/become-spongy.sh
Diffstat (limited to 'prov/src/main/java/org/spongycastle/x509/X509Store.java')
-rw-r--r-- | prov/src/main/java/org/spongycastle/x509/X509Store.java | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/prov/src/main/java/org/spongycastle/x509/X509Store.java b/prov/src/main/java/org/spongycastle/x509/X509Store.java new file mode 100644 index 00000000..94e82558 --- /dev/null +++ b/prov/src/main/java/org/spongycastle/x509/X509Store.java @@ -0,0 +1,82 @@ +package org.spongycastle.x509; + +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; +import java.security.Provider; +import java.util.Collection; + +import org.spongycastle.util.Selector; +import org.spongycastle.util.Store; + +/** + * @deprecated use CollectionStore - this class will be removed. + */ +public class X509Store + implements Store +{ + public static X509Store getInstance(String type, X509StoreParameters parameters) + throws NoSuchStoreException + { + try + { + X509Util.Implementation impl = X509Util.getImplementation("X509Store", type); + + return createStore(impl, parameters); + } + catch (NoSuchAlgorithmException e) + { + throw new NoSuchStoreException(e.getMessage()); + } + } + + public static X509Store getInstance(String type, X509StoreParameters parameters, String provider) + throws NoSuchStoreException, NoSuchProviderException + { + return getInstance(type, parameters, X509Util.getProvider(provider)); + } + + public static X509Store getInstance(String type, X509StoreParameters parameters, Provider provider) + throws NoSuchStoreException + { + try + { + X509Util.Implementation impl = X509Util.getImplementation("X509Store", type, provider); + + return createStore(impl, parameters); + } + catch (NoSuchAlgorithmException e) + { + throw new NoSuchStoreException(e.getMessage()); + } + } + + private static X509Store createStore(X509Util.Implementation impl, X509StoreParameters parameters) + { + X509StoreSpi spi = (X509StoreSpi)impl.getEngine(); + + spi.engineInit(parameters); + + return new X509Store(impl.getProvider(), spi); + } + + private Provider _provider; + private X509StoreSpi _spi; + + private X509Store( + Provider provider, + X509StoreSpi spi) + { + _provider = provider; + _spi = spi; + } + + public Provider getProvider() + { + return _provider; + } + + public Collection getMatches(Selector selector) + { + return _spi.engineGetMatches(selector); + } +} |