JavaTM Platform
Standard Ed. 6

java.security.cert
クラス CertStore

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

public class CertStore
extends Object

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

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

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

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

並行アクセス  

CertStore オブジェクトのすべての public メソッドは、スレッドセーフでなければいけません。つまり、単一の (または複数の) CertStore オブジェクト上で、複数のスレッドがこれらのメソッドを並行して呼び出しても、悪影響はありません。これにより、たとえば 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 を返します。

このメソッドは、最優先の Provider から順に、登録済みのセキュリティー Provider のリストをトラバースします。指定された型をサポートする最初の Provider の CertStoreSpi 実装をカプセル化する新しい CertStore オブジェクトが返されます。

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

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

パラメータ:
type - 要求された CertStore 型の名前。 標準の型については、「Java Certification Path API プログラマーズガイド」 の付録 A を参照
params - 初期化パラメータ。null も可
戻り値:
指定された CertStore 型を実装する CertStore オブジェクト
例外:
NoSuchAlgorithmException - 指定された型の CertStoreSpi 実装をサポートする Provider が存在しない場合
InvalidAlgorithmParameterException - 指定された 初期化パラメータがこの CertStore に対して不適切な場合
関連項目:
Provider

getInstance

public static CertStore getInstance(String type,
                                    CertStoreParameters params,
                                    String provider)
                             throws InvalidAlgorithmParameterException,
                                    NoSuchAlgorithmException,
                                    NoSuchProviderException
指定された CertStore 型を実装する CertStore オブジェクトを返します。

指定されたプロバイダの CertStoreSpi 実装をカプセル化する新しい CertStore オブジェクトが返されます。指定したプロバイダは、セキュリティープロバイダリストに登録する必要があります。

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

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

パラメータ:
type - 要求された CertStore 型。 標準の型については、「Java Certification Path API プログラマーズガイド」 の付録 A を参照
params - 初期化パラメータ。null も可
provider - プロバイダ名
戻り値:
指定された型を実装する CertStore オブジェクト
例外:
NoSuchAlgorithmException - 指定されたプロバイダに指定された型の CertStoreSpi 実装がない場合
InvalidAlgorithmParameterException - 指定された初期化パラメータがこの CertStore に対して不適切な場合
NoSuchProviderException - 指定されたプロバイダがセキュリティープロバイダリストに登録されていない場合
IllegalArgumentException - provider が null か空の場合
関連項目:
Provider

getInstance

public static CertStore getInstance(String type,
                                    CertStoreParameters params,
                                    Provider provider)
                             throws NoSuchAlgorithmException,
                                    InvalidAlgorithmParameterException
指定された CertStore 型を実装する CertStore オブジェクトを返します。

指定された Provicer オブジェクトの CertStoreSpi 実装をカプセル化する新しい CertStore オブジェクトが返されます。指定された Provider オブジェクトは、プロバイダリストに登録する必要はありません。

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

パラメータ:
type - 要求された CertStore 型。 標準の型については、「Java Certification Path API プログラマーズガイド」 の付録 A を参照
params - 初期化パラメータ。null も可
provider - プロバイダ
戻り値:
指定された型を実装する CertStore オブジェクト
例外:
NoSuchAlgorithmException - 指定された Provider オブジェクトに指定された型の CertStoreSpi 実装がない場合
InvalidAlgorithmParameterException - 指定された初期化パラメータがこの CertStore に対して不適切な場合
IllegalArgumentException - provider が null の場合
関連項目:
Provider

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> は java.home システムプロパティーの値を参照しており、JRE のインストールディレクトリを示します。

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

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

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

JavaTM Platform
Standard Ed. 6

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

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