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
タイプをサポートする必要があります。
Collection
並行アクセス
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()
certstore.type セキュリティ・プロパティに指定されているデフォルトの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.type
セキュリティ・プロパティに指定されているデフォルトのCertStore
タイプを返します。該当するプロパティが存在しない場合は、文字列「LDAP」を返します。
デフォルトのCertStore
タイプを使用するのは、アプリケーションでgetInstance
メソッドを呼び出すときにハードコードされたタイプを使用しない場合、およびユーザーが独自のタイプを指定しないときにデフォルトのCertStore
タイプを提供する場合です。
デフォルトのCertStore
タイプは、certstore.type
セキュリティ・プロパティの値を目的のタイプに設定することで変更できます。
certstore.type
セキュリティ・プロパティに指定されているデフォルトのCertStore
タイプ、該当するプロパティが存在しない場合は文字列「LDAP」。セキュリティ・プロパティ
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.