JavaTM 2 Platform
Standard Ed. 5.0

java.security.cert
クラス CertStore

java.lang.Object
  上位を拡張 java.security.cert.CertStore

public class CertStore
extends Object

リポジトリから CertificateCRL を取得するクラスです。

このクラスでは、「Java 暗号化アーキテクチャ」で説明されているような、プロバイダベースのアーキテクチャを使用します。CertStore を作成するには、static getInstance メソッドのうちの 1 つを呼び出して、作成する CertStore の型、適用可能な初期化パラメータ、プロバイダ名 (省略可能) を渡します。

CertStore を作成すると、getCertificates メソッドと getCRLs メソッドを呼び出すことで CertificateCRL を取得することができます。

非公開鍵と信頼できる証明書のキャッシュにアクセスする KeyStore とは異なり、CertStore は巨大になるおそれのある、信頼されていない証明書と CRL のリポジトリにアクセスするよう設計されています。たとえば、CertStore の LDAP 実装では、LDAP プロトコルと RFC サービス属性として定義されたスキーマとを使用して、1 つ以上のディレクトリに格納された証明書と CRL へアクセスできます。標準の CertStore 型の詳細については、「Java Certification Path API Programmer's Guide」の付録 A を参照してください。

並行アクセス

CertStore オブジェクトのすべての public メソッドは、スレッドセーフでなければいけません。つまり、それらの public メソッドは、悪影響を与えることなく、単一 CertStore オブジェクト (または 1 つ以上) 上で複数スレッドが並行して呼び出すことができます。これにより、たとえば次々と証明書を検索しながら、同時に CertPathBuilder を使用して CRL を検索することができます。

また、このクラスの static メソッドは、スレッドセーフであることが保証されています。このクラスで定義されている static メソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。

導入されたバージョン:
1.4

コンストラクタの概要
protected CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)
          指定された型の CertStore オブジェクトを作成し、指定されたプロバイダの実装 (SPI オブジェクト) をそこにカプセル化します。
 
メソッドの概要
 Collection<? extends Certificate> getCertificates(CertSelector selector)
          指定したセレクタに一致する CertificateCollection を返します。
 CertStoreParameters getCertStoreParameters()
          CertStore を初期化するためのパラメータを返します。
 Collection<? extends CRL> getCRLs(CRLSelector selector)
          指定したセレクタに一致する CRLCollection を返します。
static String getDefaultType()
          Java セキュリティプロパティファイルに指定されているデフォルトの CertStore 型を返します。
static CertStore getInstance(String type, CertStoreParameters params)
          指定した CertStore 型を実装し、指定したパラメータで初期化される CertStore を返します。
static CertStore getInstance(String type, CertStoreParameters params, Provider provider)
          指定したプロバイダが提供し、指定したパラメータで初期化される、指定した CertStore を実装する CertStore オブジェクトを返します。
static CertStore getInstance(String type, CertStoreParameters params, String provider)
          指定したプロバイダが提供し、指定したパラメータで初期化される、指定した CertStore を実装する CertStore オブジェクトを返します。
 Provider getProvider()
          この CertStore のプロバイダを返します。
 String getType()
          この CertStore の型を返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

CertStore

protected CertStore(CertStoreSpi storeSpi,
                    Provider provider,
                    String type,
                    CertStoreParameters params)
指定された型の CertStore オブジェクトを作成し、指定されたプロバイダの実装 (SPI オブジェクト) をそこにカプセル化します。

パラメータ:
storeSpi - プロバイダの実装
provider - プロバイダ
type - タイプ
params - 初期化パラメータ。null も可
メソッドの詳細

getCertificates

public final Collection<? extends Certificate> getCertificates(CertSelector selector)
                                                        throws CertStoreException
指定したセレクタに一致する CertificateCollection を返します。セレクタに一致する Certificate がない場合は、空の Collection が返されます。

CertStore の型によっては、セレクタに一致する Certificateすべてが結果の Collection に含まれないことがあります。たとえば、LDAP CertStore では、ディレクトリ内のすべてのエントリを検索しません。代わりに、検索する Certificate が含まれると考えられるエントリに絞って検索します。

CertStore の中には、証明書を見つけるための特定の条件を含む非 null の CertSelector が提供されないかぎり、CertStoreException をスローするものがあります (特に LDAP CertStore)。発行者や被認証者の名前は特に役立つ条件となります。

パラメータ:
selector - 返される Certificate を選択するために用いる CertSelectornull を指定すると、サポートされている場合はすべての Certificate を返す
戻り値:
指定したセレクタに一致する CertificateCollectionnull にはならない
例外:
CertStoreException - 例外が発生する場合

getCRLs

public final Collection<? extends CRL> getCRLs(CRLSelector selector)
                                        throws CertStoreException
指定したセレクタに一致する CRLCollection を返します。セレクタに一致する CRL がない場合は、空の Collection が返されます。

CertStore の型によっては、セレクタに一致する CRL のすべてが結果の Collection に含まれないことがあります。たとえば、LDAP CertStore では、ディレクトリ内のすべてのエントリを検索しません。代わりに、検索する CRL が含まれると考えられるエントリに絞って検索します。

CertStore の中には、証明書を見つけるための特定の条件を含む非 null の CRLSelector が提供されないかぎり、CertStoreException をスローするものがあります (特に LDAP CertStore)。発行者の名前やチェック対象の証明書は特に役立ちます。

パラメータ:
selector - 返される CRL を選択するために用いる CRLSelectornull を指定すると、サポートされている場合はすべての CRL を返す
戻り値:
指定したセレクタに一致する CRLCollectionnull にはならない
例外:
CertStoreException - 例外が発生する場合

getInstance

public static CertStore getInstance(String type,
                                    CertStoreParameters params)
                             throws InvalidAlgorithmParameterException,
                                    NoSuchAlgorithmException
指定した CertStore 型を実装し、指定したパラメータで初期化される CertStore を返します。

指定した CertStore 型の実装をデフォルトのプロバイダパッケージが提供している場合は、その実装を含む CertStore のインスタンスが返されます。デフォルトパッケージで目的の型が提供されていない場合には、他のパッケージが検索されます。

返された CertStore は指定された CertStoreParameters で初期化されます。必要なパラメータの型は、CertStore の型によって異なります。CertStoreParameters オブジェクトの複製を指定していることに注意してください。

パラメータ:
type - 要求した CertStore 型の名前
params - 初期化パラメータ。null も可
戻り値:
指定した CertStore 型を実装する CertStore オブジェクト
例外:
NoSuchAlgorithmException - 要求される型が、デフォルトのプロバイダパッケージにも、検索したほかのプロバイダパッケージにもない場合
InvalidAlgorithmParameterException - 指定された初期化パラメータがこの CertStore に対して不適切な場合

getInstance

public static CertStore getInstance(String type,
                                    CertStoreParameters params,
                                    String provider)
                             throws InvalidAlgorithmParameterException,
                                    NoSuchAlgorithmException,
                                    NoSuchProviderException
指定したプロバイダが提供し、指定したパラメータで初期化される、指定した CertStore を実装する CertStore オブジェクトを返します。

返された CertStore は指定された CertStoreParameters で初期化されます。必要なパラメータの型は、CertStore の型によって異なります。CertStoreParameters オブジェクトの複製を指定していることに注意してください。

パラメータ:
type - 要求された CertStore
params - 初期化パラメータ。null も可
provider - プロバイダ名
戻り値:
指定したプロバイダが提供する、指定した型を実装する CertStore オブジェクト
例外:
NoSuchAlgorithmException - 指定されたプロバイダに要求した型がない場合
InvalidAlgorithmParameterException - 指定された初期化パラメータがこの CertStore に対して不適切な場合
NoSuchProviderException - プロバイダが設定されていない場合
IllegalArgumentException - provider が null の場合

getInstance

public static CertStore getInstance(String type,
                                    CertStoreParameters params,
                                    Provider provider)
                             throws NoSuchAlgorithmException,
                                    InvalidAlgorithmParameterException
指定したプロバイダが提供し、指定したパラメータで初期化される、指定した CertStore を実装する CertStore オブジェクトを返します。注: provider は登録されている必要はありません。

返された CertStore は指定された CertStoreParameters で初期化されます。必要なパラメータの型は、CertStore の型によって異なります。CertStoreParameters オブジェクトの複製を指定していることに注意してください。

パラメータ:
type - 要求された CertStore
params - 初期化パラメータ。null も可
provider - プロバイダ
戻り値:
指定したプロバイダが提供する、指定した型を実装する CertStore オブジェクト
例外:
NoSuchAlgorithmException - 指定されたプロバイダに要求した型がない場合
InvalidAlgorithmParameterException - 指定された初期化パラメータがこの CertStore に対して不適切な場合
IllegalArgumentException - provider が null の場合

getCertStoreParameters

public final CertStoreParameters getCertStoreParameters()
CertStore を初期化するためのパラメータを返します。返される前のCertStoreParameters オブジェクトは複製です。

戻り値:
この CertStore を初期化するパラメータ。null も可能

getType

public final String getType()
この CertStore の型を返します。

戻り値:
この CertStore の型

getProvider

public final Provider getProvider()
この CertStore のプロバイダを返します。

戻り値:
この CertStore のプロバイダ

getDefaultType

public static final String getDefaultType()
Java セキュリティプロパティファイルに指定されているデフォルトの CertStore 型を返します。デフォルトの CertStore 型を示すプロパティがない場合は、文字列「LDAP」を返します。Java セキュリティプロパティファイルは、<JAVA_HOME>/lib/security/java.security というファイルにあります。<JAVA_HOME> は、JDK がインストールされているディレクトリです。

デフォルトの CertStore 型を使用するのは、アプリケーションで getInstance メソッドを呼び出すときにハードコードされた型を使用しない場合、およびユーザが独自の型を指定しないときにデフォルトの CertStore 型を提供する場合です。

デフォルトの CertStore 型を変更するには、Java セキュリティプロパティファイルの certstore.type セキュリティプロパティの値を目的の型に設定します。

戻り値:
Java セキュリティプロパティファイルで指定されたデフォルトの CertStore 型。プロパティが存在しない場合は、文字列「LDAP」

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。