CertStoreクラスのサービス・プロバイダ・インタフェース (SPI)です。 CertStoreのすべての実装には、このCertStoreSpiクラスを拡張して、CertStoreParametersタイプの引数を1つ持つコンストラクタを提供し、すべてのメソッドを実装するクラス(SPIクラス)が含まれていなければいけません。 一般に、このクラスのインスタンスには、CertStoreクラスを介してアクセスする必要があります。 詳細は、「Java暗号化アーキテクチャ」を参照してください。
並行アクセス
すべてのCertStoreSpiオブジェクトのpublicメソッドは、スレッドに対して安全である必要があります。 つまり、単一の(または複数の) CertStoreSpiオブジェクト上で、複数のスレッドがこれらのメソッドを並行して呼び出しても、悪影響はありません。 これにより、たとえばCertPathBuilderは、CRLを検索しながら同時にほかの証明書を検索できます。
簡単なCertStoreSpiの実装では、synchronizedキーワードをengineGetCertificatesメソッドとengineGetCRLsメソッドに追加することで、スレッドに対して安全であることが保証されます。 高度な実装では、真の並行アクセスが可能になります。
- 導入されたバージョン:
- 1.4
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明abstract Collection<? extends Certificate>engineGetCertificates(CertSelector selector) 指定したセレクタに一致するCertificateのCollectionを返します。abstract Collection<? extends CRL>engineGetCRLs(CRLSelector selector) 指定したセレクタに一致するCRLのCollectionを返します。
-
コンストラクタの詳細
-
CertStoreSpi
public CertStoreSpi(CertStoreParameters params) throws InvalidAlgorithmParameterException 唯一のコンストラクタです。- パラメータ:
params- 初期化パラメータ。nullも可- throws:
InvalidAlgorithmParameterException- 初期化パラメータがこのCertStoreSpiに対して不適切な場合
-
-
メソッドの詳細
-
engineGetCertificates
public abstract Collection<? extends Certificate> engineGetCertificates(CertSelector selector) throws CertStoreException 指定したセレクタに一致するCertificateのCollectionを返します。 セレクタに一致するCertificateがない場合は、空のCollectionが返されます。CertStoreのタイプによっては、セレクタに一致するCertificateのすべてが結果として得られるCollectionに含まれないことがあります。 たとえば、LDAPCertStoreは、ディレクトリ内のすべてのエントリを検索しない場合があります。 代わりに、検索するCertificateが含まれると考えられるエントリに絞って検索します。CertStoreの実装の中には、証明書を見つけるための特定の条件を含むnull以外のCertSelectorが提供されないかぎり、CertStoreExceptionをスローするものがあります(特にLDAPCertStore)。 発行者やサブジェクトの名前は特に役立つ条件となります。- パラメータ:
selector- 返されるCertificateを選択するために使用するCertSelector。nullを指定すると、サポートされている場合はすべてのCertificateが返される。- 戻り値:
- 指定したセレクタに一致する
CertificateのCollection。nullにはならない - throws:
CertStoreException- 例外が発生する場合
-
engineGetCRLs
public abstract Collection<? extends CRL> engineGetCRLs(CRLSelector selector) throws CertStoreException 指定したセレクタに一致するCRLのCollectionを返します。 セレクタに一致するCRLがない場合は、空のCollectionが返されます。CertStoreのタイプによっては、セレクタに一致するCRLのすべてが結果として得られるCollectionに含まれないことがあります。 たとえば、LDAPCertStoreは、ディレクトリ内のすべてのエントリを検索しない場合があります。 代わりに、検索するCRLが含まれると考えられるエントリに絞って検索します。CertStoreの実装の中には、CRLを見つけるための特定の条件を含むnull以外のCRLSelectorが提供されないかぎり、CertStoreExceptionをスローするものがあります(特にLDAPCertStore)。 発行者の名前やチェック対象の証明書は特に役立ちます。- パラメータ:
selector- 返されるCRLを選択するために使用するCRLSelector。nullを指定すると、サポートされている場合はすべてのCRLが返される- 戻り値:
- 指定したセレクタに一致する
CRLのCollection。nullにはならない - throws:
CertStoreException- 例外が発生する場合
-