1 package org.bouncycastle.x509;
2 
3 import java.security.NoSuchAlgorithmException;
4 import java.security.NoSuchProviderException;
5 import java.security.Provider;
6 import java.util.Collection;
7 
8 import org.bouncycastle.util.Selector;
9 import org.bouncycastle.util.Store;
10 
11 /**
12  * @deprecated use CollectionStore - this class will be removed.
13  */
14 public class X509Store
15     implements Store
16 {
getInstance(String type, X509StoreParameters parameters)17     public static X509Store getInstance(String type, X509StoreParameters parameters)
18         throws NoSuchStoreException
19     {
20         try
21         {
22             X509Util.Implementation impl = X509Util.getImplementation("X509Store", type);
23 
24             return createStore(impl, parameters);
25         }
26         catch (NoSuchAlgorithmException e)
27         {
28             throw new NoSuchStoreException(e.getMessage());
29         }
30     }
31 
getInstance(String type, X509StoreParameters parameters, String provider)32     public static X509Store getInstance(String type, X509StoreParameters parameters, String provider)
33         throws NoSuchStoreException, NoSuchProviderException
34     {
35         return getInstance(type, parameters, X509Util.getProvider(provider));
36     }
37 
getInstance(String type, X509StoreParameters parameters, Provider provider)38     public static X509Store getInstance(String type, X509StoreParameters parameters, Provider provider)
39         throws NoSuchStoreException
40     {
41         try
42         {
43             X509Util.Implementation impl = X509Util.getImplementation("X509Store", type, provider);
44 
45             return createStore(impl, parameters);
46         }
47         catch (NoSuchAlgorithmException e)
48         {
49             throw new NoSuchStoreException(e.getMessage());
50         }
51     }
52 
createStore(X509Util.Implementation impl, X509StoreParameters parameters)53     private static X509Store createStore(X509Util.Implementation impl, X509StoreParameters parameters)
54     {
55         X509StoreSpi spi = (X509StoreSpi)impl.getEngine();
56 
57         spi.engineInit(parameters);
58 
59         return new X509Store(impl.getProvider(), spi);
60     }
61 
62     private Provider     _provider;
63     private X509StoreSpi _spi;
64 
X509Store( Provider provider, X509StoreSpi spi)65     private X509Store(
66         Provider provider,
67         X509StoreSpi spi)
68     {
69         _provider = provider;
70         _spi = spi;
71     }
72 
getProvider()73     public Provider getProvider()
74     {
75        return _provider;
76     }
77 
getMatches(Selector selector)78     public Collection getMatches(Selector selector)
79     {
80         return _spi.engineGetMatches(selector);
81     }
82 }
83