Home | History | Annotate | Download | only in cert
      1 /*
      2  *  Licensed to the Apache Software Foundation (ASF) under one or more
      3  *  contributor license agreements.  See the NOTICE file distributed with
      4  *  this work for additional information regarding copyright ownership.
      5  *  The ASF licenses this file to You under the Apache License, Version 2.0
      6  *  (the "License"); you may not use this file except in compliance with
      7  *  the License.  You may obtain a copy of the License at
      8  *
      9  *     http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  *  Unless required by applicable law or agreed to in writing, software
     12  *  distributed under the License is distributed on an "AS IS" BASIS,
     13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  *  See the License for the specific language governing permissions and
     15  *  limitations under the License.
     16  */
     17 
     18 package java.security.cert;
     19 
     20 import java.security.InvalidAlgorithmParameterException;
     21 import java.util.Collection;
     22 
     23 /**
     24  * The <i>Service Provider Interface</i> (<b>SPI</b>) definition for the {@code
     25  * CertStore} class to be implemented by security providers.
     26  */
     27 public abstract class CertStoreSpi {
     28 
     29     /**
     30      * Creates a new {@code CertStoreSpi}.
     31      *
     32      * @param params
     33      *            the initialization parameters.
     34      * @throws InvalidAlgorithmParameterException
     35      *             if the specified initialization parameters cannot be used to
     36      *             initialize this instance.
     37      */
     38     public CertStoreSpi(CertStoreParameters params)
     39             throws InvalidAlgorithmParameterException {
     40     }
     41 
     42     /**
     43      * Returns the list of {@code Certificate}s for the specified {@code
     44      * CertSelector} from this instance.
     45      *
     46      * @param selector
     47      *            the selector containing the criteria to search for
     48      *            certificates in this instance.
     49      * @return the list of {@code Certificate}s that match the criteria of the
     50      *         specified selector.
     51      * @throws CertStoreException
     52      *             if error(s) occur.
     53      */
     54     public abstract Collection<? extends Certificate> engineGetCertificates(CertSelector selector)
     55             throws CertStoreException;
     56 
     57     /**
     58      * Returns the list of {@code CRL}s for the specified {@code CRLSelector}
     59      * from this instance.
     60      *
     61      * @param selector
     62      *            the selector containing the criteria to search for certificate
     63      *            revocation lists in instance.
     64      * @return the list of {@code CRL}s that match the criteria of the specified
     65      *         selector
     66      * @throws CertStoreException
     67      *             if error(s) occur.
     68      */
     69     public abstract Collection<? extends CRL> engineGetCRLs(CRLSelector selector)
     70             throws CertStoreException;
     71 }
     72