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