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メソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。
- 導入されたバージョン:
- 1.4
- 
コンストラクタのサマリーコンストラクタ 修飾子 コンストラクタ 説明 protectedCertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)指定されたタイプのCertStoreオブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 Collection<? extends Certificate>getCertificates(CertSelector selector)指定したセレクタに一致するCertificateのCollectionを返します。CertStoreParametersgetCertStoreParameters()このCertStoreを初期化するためのパラメータを返します。Collection<? extends CRL>getCRLs(CRLSelector selector)指定したセレクタに一致するCRLのCollectionを返します。static StringgetDefaultType()certstore.typeセキュリティ・プロパティに指定されたデフォルトのCertStoreタイプを返します。該当するプロパティが存在しない場合は、文字列「LDAP」を返します。static CertStoregetInstance(String type, CertStoreParameters params)指定したCertStore型を実装し、指定したパラメータで初期化されるCertStoreを返します。static CertStoregetInstance(String type, CertStoreParameters params, String provider)指定されたCertStoreタイプを実装するCertStoreオブジェクトを返します。static CertStoregetInstance(String type, CertStoreParameters params, Provider provider)指定されたCertStoreタイプを実装するCertStoreオブジェクトを返します。ProvidergetProvider()このCertStoreのプロバイダを返します。StringgetType()このCertStoreのタイプを返します。
- 
コンストラクタの詳細- 
CertStoreprotected CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)指定されたタイプのCertStoreオブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。- パラメータ:
- storeSpi- プロバイダの実装
- provider- プロバイダ
- type- タイプ
- params- 初期化パラメータ。- nullも可
 
 
- 
- 
メソッドの詳細- 
getCertificatespublic final Collection<? extends Certificate> getCertificates(CertSelector selector) throws CertStoreException指定したセレクタに一致するCertificateのCollectionを返します。 セレクタに一致するCertificateがない場合は、空のCollectionが返されます。CertStoreのタイプによっては、セレクタに一致するCertificateのすべてが結果として得られるCollectionに含まれないことがあります。 たとえば、LDAPCertStoreは、ディレクトリ内のすべてのエントリを検索しない場合があります。 代わりに、検索するCertificateが含まれると考えられるエントリに絞って検索します。CertStoreの実装の中には、証明書を見つけるための特定の条件を含むnull以外のCertSelectorが提供されないかぎり、CertStoreExceptionをスローするものがあります(特にLDAPCertStore)。 発行者やサブジェクトの名前は特に役立つ条件となります。- パラメータ:
- selector- 返される- Certificateを選択するために使用する- CertSelector。- nullを指定すると、サポートされている場合はすべての- Certificateが返される。
- 戻り値:
- 指定したセレクタに一致するCertificateのCollection。nullにはならない
- 例外:
- CertStoreException- 例外が発生する場合
 
- 
getCRLspublic final Collection<? extends CRL> getCRLs(CRLSelector selector) throws CertStoreException指定したセレクタに一致するCRLのCollectionを返します。 セレクタに一致するCRLがない場合は、空のCollectionが返されます。CertStoreのタイプによっては、セレクタに一致するCRLのすべてが結果として得られるCollectionに含まれないことがあります。 たとえば、LDAPCertStoreは、ディレクトリ内のすべてのエントリを検索しない場合があります。 代わりに、検索するCRLが含まれると考えられるエントリに絞って検索します。CertStoreの実装の中には、CRLを見つけるための特定の条件を含むnull以外のCRLSelectorが提供されないかぎり、CertStoreExceptionをスローするものがあります(特にLDAPCertStore)。 発行者の名前やチェック対象の証明書は特に役立ちます。- パラメータ:
- selector- 返される- CRLを選択するために使用する- CRLSelector。- nullを指定すると、サポートされている場合はすべての- CRLが返される
- 戻り値:
- 指定したセレクタに一致するCRLのCollection。nullにはならない
- 例外:
- CertStoreException- 例外が発生する場合
 
- 
getInstancepublic static CertStore getInstance(String type, CertStoreParameters params) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException指定したCertStore型を実装し、指定したパラメータで初期化されるCertStoreを返します。このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定された型をサポートする最初のProviderのCertStoreSpi実装をカプセル化する新しいCertStoreオブジェクトが返されます。 登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。返された CertStoreは指定されたCertStoreParametersで初期化されます。 必要なパラメータの型は、CertStoreの型によって異なります。CertStoreParametersオブジェクトの複製を指定していることに注意してください。- 実装上のノート:
- JDKリファレンス実装では、jdk.security.provider.preferredSecurityプロパティを使用して、指定されたアルゴリズムの優先プロバイダの順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。
- パラメータ:
- type- 要求する- CertStoreタイプの名前。 標準型については、「Javaセキュリティ標準アルゴリズム名指定」のCertStoreセクションを参照してください。
- params- 初期化パラメータ。- nullも可。
- 戻り値:
- 指定されたCertStoreタイプを実装するCertStoreオブジェクト
- 例外:
- InvalidAlgorithmParameterException- 指定された初期化パラメータがこの- CertStoreに対して不適切な場合
- NoSuchAlgorithmException-- Providerが、指定された型の- CertStoreSpi実装をサポートしていない場合
- NullPointerException-- typeが- nullである場合
- 関連項目:
- Provider
 
- 
getInstancepublic 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オブジェクト
- 例外:
- IllegalArgumentException-- providerが- nullまたは空の場合
- InvalidAlgorithmParameterException- 指定された初期化パラメータがこの- CertStoreに対して不適切な場合
- NoSuchAlgorithmException- 指定された型の- CertStoreSpi実装が、指定されたプロバイダから利用可能でない場合
- NoSuchProviderException- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合
- NullPointerException-- typeが- nullである場合
- 関連項目:
- Provider
 
- 
getInstancepublic static CertStore getInstance(String type, CertStoreParameters params, Provider provider) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException指定されたCertStoreタイプを実装するCertStoreオブジェクトを返します。指定されたProviderオブジェクトのCertStoreSpi実装をカプセル化する新しいCertStoreオブジェクトが返されます。 指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。 返された CertStoreは指定されたCertStoreParametersで初期化されます。 必要なパラメータの型は、CertStoreの型によって異なります。CertStoreParametersオブジェクトの複製を指定していることに注意してください。- パラメータ:
- type- 要求された- CertStoreタイプ。 標準型については、「Javaセキュリティ標準アルゴリズム名指定」のCertStoreセクションを参照してください。
- params- 初期化パラメータ。- nullも可。
- provider- プロバイダ
- 戻り値:
- 指定されたタイプを実装するCertStoreオブジェクト
- 例外:
- IllegalArgumentException-- providerがnullの場合
- InvalidAlgorithmParameterException- 指定された初期化パラメータがこの- CertStoreに対して不適切な場合
- NoSuchAlgorithmException- 指定された型の- CertStoreSpi実装が、指定されたProviderオブジェクトから使用できない場合
- NullPointerException-- typeが- nullである場合
- 関連項目:
- Provider
 
- 
getCertStoreParameterspublic final CertStoreParameters getCertStoreParameters()このCertStoreを初期化するためのパラメータを返します。 返される前のCertStoreParametersオブジェクトは複製です。- 戻り値:
- このCertStoreを初期化するパラメータ。nullも可能
 
- 
getTypepublic final String getType()このCertStoreのタイプを返します。- 戻り値:
- このCertStoreの型
 
- 
getProviderpublic final Provider getProvider()このCertStoreのプロバイダを返します。- 戻り値:
- このCertStoreのプロバイダ
 
- 
getDefaultTypepublic static final String getDefaultType()certstore.typeセキュリティ・プロパティに指定されたデフォルトのCertStoreタイプを返します。該当するプロパティが存在しない場合は、文字列「LDAP」を返します。デフォルトの CertStoreタイプを使用するのは、アプリケーションでgetInstanceメソッドを呼び出すときにハードコードされたタイプを使用しない場合、およびユーザーが独自のタイプを指定しないときにデフォルトのCertStoreタイプを提供する場合です。デフォルトの CertStoreタイプは、certstore.typeセキュリティ・プロパティの値を目的のタイプに設定することで変更できます。- 戻り値:
- certstore.typeセキュリティ・プロパティに指定されているデフォルトの- CertStoreタイプ、該当するプロパティが存在しない場合は文字列「LDAP」。
- 関連項目:
- セキュリティ・プロパティ
 
 
-