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 に対して不適切な場合。Providerpublic 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 または空の場合。Providerpublic 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 の場合。Providerpublic 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.