public class CertStore extends Object
Certificate
と CRL
を取得するクラスです。
このクラスは、プロバイダベースのアーキテクチャーを使用します。CertStore
を作成するには、static getInstance
メソッドのうちの 1 つを呼び出して、作成する CertStore
の型、適用可能な初期化パラメータ、プロバイダ名 (省略可能) を渡します。
CertStore
を作成すると、getCertificates
と getCRLs
メソッドを呼び出すことで、Certificate
と CRL
を取得できます。
CertStore
は、非公開鍵および信頼できる証明書のキャッシュへのアクセスを提供する KeyStore
とは異なり、非常に大きくなる可能性がある、信頼されない証明書および CRL のリポジトリへのアクセスを提供するように設計されています。たとえば、CertStore
の LDAP 実装では、LDAP プロトコルと RFC サービス属性として定義されたスキーマとを使用して、1 つ以上のディレクトリに格納された証明書と CRL へアクセスできます。
Java プラットフォームの実装は、すべて次の標準の CertStore
タイプをサポートする必要があります。
並行アクセス
CertStore
オブジェクトのすべての public メソッドは、スレッドセーフでなければいけません。つまり、単一の (または複数の) CertStore
オブジェクト上で、複数のスレッドがこれらのメソッドを並行して呼び出しても、悪影響はありません。これにより、たとえば CertPathBuilder
は、CRL を検索しながら同時にほかの証明書を検索できます。
また、このクラスの static メソッドは、スレッドセーフであることが保証されています。このクラスで定義されている static メソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。
修飾子 | コンストラクタと説明 |
---|---|
protected |
CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)
指定されたタイプの
CertStore オブジェクトを作成し、指定されたプロバイダの実装 (SPI オブジェクト) をそこにカプセル化します。 |
修飾子と型 | メソッドと説明 |
---|---|
Collection<? extends Certificate> |
getCertificates(CertSelector selector)
指定したセレクタに一致する
Certificate の Collection を返します。 |
CertStoreParameters |
getCertStoreParameters()
この
CertStore を初期化するためのパラメータを返します。 |
Collection<? extends CRL> |
getCRLs(CRLSelector selector)
指定したセレクタに一致する
CRL の Collection を返します。 |
static String |
getDefaultType()
Java セキュリティープロパティーファイルに指定されているデフォルトの
CertStore タイプを返します。該当するプロパティーが存在しない場合は、文字列「LDAP」を返します。 |
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 のタイプを返します。 |
protected CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)
CertStore
オブジェクトを作成し、指定されたプロバイダの実装 (SPI オブジェクト) をそこにカプセル化します。storeSpi
- プロバイダの実装provider
- プロバイダtype
- タイプparams
- 初期化パラメータ。null
も可public final Collection<? extends Certificate> getCertificates(CertSelector selector) throws CertStoreException
Certificate
の Collection
を返します。セレクタに一致する Certificate
がない場合は、空の Collection
が返されます。
CertStore
のタイプによっては、セレクタに一致する Certificate
のすべてが結果として得られる Collection
に含まれないことがあります。たとえば、LDAP CertStore
は、ディレクトリ内のすべてのエントリを検索しない場合があります。代わりに、検索する Certificate
が含まれると考えられるエントリに絞って検索します。
CertStore
の実装の中には、証明書を見つけるための特定の条件を含む null 以外の CertSelector
が提供されないかぎり、CertStoreException
をスローするものがあります (特に LDAP CertStore
)。発行者やサブジェクトの名前は特に役立つ条件となります。
selector
- 返される Certificate
を選択するために使用する CertSelector
。null
を指定すると、サポートされている場合はすべての Certificate
が返されるCertificate
の Collection
。null
にはならないCertStoreException
- 例外が発生する場合public final Collection<? extends CRL> getCRLs(CRLSelector selector) throws CertStoreException
CRL
の Collection
を返します。セレクタに一致する CRL
がない場合は、空の Collection
が返されます。
CertStore
のタイプによっては、セレクタに一致する CRL
のすべてが結果として得られる Collection
に含まれないことがあります。たとえば、LDAP CertStore
は、ディレクトリ内のすべてのエントリを検索しない場合があります。代わりに、検索する CRL
が含まれると考えられるエントリに絞って検索します。
CertStore
の実装の中には、CRL を見つけるための特定の条件を含む null 以外の CRLSelector
が提供されないかぎり、CertStoreException
をスローするものがあります (特に LDAP CertStore
)。発行者の名前やチェック対象の証明書は特に役立ちます。
selector
- 返される CRL
を選択するために使用する CRLSelector
。null
を指定すると、サポートされている場合はすべての CRL
が返されるCRL
の Collection
。null
にはならないCertStoreException
- 例外が発生する場合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 暗号化アーキテクチャー標準アルゴリズム名のドキュメントの CertStore のセクションを参照。params
- 初期化パラメータ。null
も可。CertStore
タイプを実装する CertStore
オブジェクト。NoSuchAlgorithmException
- 指定されたタイプの CertStoreSpi 実装をサポートするプロバイダが存在しない場合。InvalidAlgorithmParameterException
- 指定された初期化パラメータがこの CertStore
に対して不適切な場合。Provider
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 暗号化アーキテクチャー標準アルゴリズム名のドキュメントの CertStore のセクションを参照。params
- 初期化パラメータ。null
も可。provider
- プロバイダ名。CertStore
オブジェクト。NoSuchAlgorithmException
- 指定されたプロバイダに指定されたタイプの CertStoreSpi 実装がない場合。InvalidAlgorithmParameterException
- 指定された初期化パラメータがこの CertStore
に対して不適切な場合。NoSuchProviderException
- 指定されたプロバイダがセキュリティープロバイダリストに登録されていない場合。IllegalArgumentException
- provider
が null または空の場合。Provider
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 暗号化アーキテクチャー標準アルゴリズム名のドキュメントの CertStore のセクションを参照。params
- 初期化パラメータ。null
も可。provider
- プロバイダ。CertStore
オブジェクト。NoSuchAlgorithmException
- 指定された Provider オブジェクトに指定されたタイプの CertStoreSpi 実装がない場合。InvalidAlgorithmParameterException
- 指定された初期化パラメータがこの CertStore
に対して不適切な場合IllegalArgumentException
- provider
が null の場合。Provider
public final CertStoreParameters getCertStoreParameters()
CertStore
を初期化するためのパラメータを返します。返される前の CertStoreParameters
オブジェクトは複製です。CertStore
を初期化するパラメータ。null
も可能public final String getType()
CertStore
のタイプを返します。CertStore
の型public final Provider getProvider()
CertStore
のプロバイダを返します。CertStore
のプロバイダpublic static final String getDefaultType()
CertStore
タイプを返します。該当するプロパティーが存在しない場合は、文字列「LDAP」を返します。Java セキュリティープロパティーファイルは、<JAVA_HOME>/lib/security/java.security という名前のファイルに格納されています。<JAVA_HOME> は java.home システムプロパティーの値を参照しており、JRE のインストールディレクトリを示します。
デフォルトの CertStore
タイプを使用するのは、アプリケーションで getInstance
メソッドを呼び出すときにハードコードされたタイプを使用しない場合、およびユーザーが独自のタイプを指定しないときにデフォルトの CertStore
タイプを提供する場合です。
デフォルトの CertStore
型を変更するには、Java セキュリティープロパティーファイルの certstore.type セキュリティープロパティーの値を目的の型に設定します。
CertStore
タイプ。該当するプロパティーが存在しない場合は、文字列「LDAP」。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.