クラスCertStore

java.lang.Object
java.security.cert.CertStore

public class CertStore extends Object
リポジトリからCertificateCRLを取得するクラスです。

このクラスは、プロバイダ・ベースのアーキテクチャを使用します。 CertStoreを作成するには、static getInstanceメソッドのうちの1つを呼び出して、作成するCertStoreの型、適用可能な初期化パラメータ、プロバイダ名(オプション)を渡します。

CertStoreを作成すると、getCertificatesgetCRLsメソッドを呼び出すことで、CertificateCRLを取得できます。

CertStoreは、非公開キーおよび信頼できる証明書のキャッシュへのアクセスを提供するKeyStoreとは異なり、非常に大きくなる可能性がある、信頼されない証明書およびCRLのリポジトリへのアクセスを提供するように設計されています。 たとえば、CertStoreのLDAP実装では、LDAPプロトコルとRFCサービス属性として定義されたスキーマとを使用して、1つ以上のディレクトリに格納された証明書とCRLへアクセスできます。

Javaプラットフォームの実装は、すべて次の標準のCertStoreタイプをサポートする必要があります。

  • Collection
このタイプについては、Javaセキュリティ標準アルゴリズム名仕様の「CertStoreセクション」を参照してください。 サポートされているその他のタイプについては、実装のリリース・ノートを参照してください。

並行アクセス

CertStoreオブジェクトのすべてのpublicメソッドは、スレッドセーフでなければいけません。 つまり、単一の(または複数の) CertStoreオブジェクト上で、複数のスレッドがこれらのメソッドを並行して呼び出しても、悪影響はありません。 これにより、たとえばCertPathBuilderは、CRLを検索しながら同時にほかの証明書を検索できます。

また、このクラスのstaticメソッドは、スレッドセーフであることが保証されています。 このクラスで定義されているstaticメソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。

導入されたバージョン:
1.4
外部仕様
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)
    指定されたタイプのCertStoreオブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    final Collection<? extends Certificate>
    指定したセレクタに一致するCertificateCollectionを返します。
    このCertStoreを初期化するためのパラメータを返します。
    final Collection<? extends CRL>
    getCRLs(CRLSelector selector)
    指定したセレクタに一致するCRLCollectionを返します。
    static final String
    certstore.typeセキュリティ・プロパティに指定されたデフォルトのCertStoreタイプを返します。該当するプロパティが存在しない場合は、文字列「LDAP」を返します。
    static CertStore
    指定したCertStore型を実装し、指定したパラメータで初期化されるCertStoreを返します。
    static CertStore
    getInstance(String type, CertStoreParameters params, String provider)
    指定されたCertStoreタイプを実装するCertStoreオブジェクトを返します。
    static CertStore
    getInstance(String type, CertStoreParameters params, Provider provider)
    指定されたCertStoreタイプを実装するCertStoreオブジェクトを返します。
    final Provider
    このCertStoreのプロバイダを返します。
    final String
    このCertStoreのタイプを返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • 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
      指定したセレクタに一致するCertificateCollectionを返します。 セレクタに一致するCertificateがない場合は、空のCollectionが返されます。

      CertStoreのタイプによっては、セレクタに一致するCertificateすべてが結果として得られるCollectionに含まれないことがあります。 たとえば、LDAP CertStoreは、ディレクトリ内のすべてのエントリを検索しない場合があります。 代わりに、検索するCertificateが含まれると考えられるエントリに絞って検索します。

      CertStoreの実装の中には、証明書を見つけるための特定の条件を含むnull以外のCertSelectorが提供されないかぎり、CertStoreExceptionをスローするものがあります(特にLDAP CertStore)。 発行者やサブジェクトの名前は特に役立つ条件となります。

      パラメータ:
      selector - 返されるCertificateを選択するために使用するCertSelector nullを指定すると、サポートされている場合はすべてのCertificateが返される。
      戻り値:
      指定したセレクタに一致するCertificateCollectionnullにはならない
      スロー:
      CertStoreException - 例外が発生する場合
    • getCRLs

      public final Collection<? extends CRL> getCRLs(CRLSelector selector) throws CertStoreException
      指定したセレクタに一致するCRLCollectionを返します。 セレクタに一致するCRLがない場合は、空のCollectionが返されます。

      CertStoreのタイプによっては、セレクタに一致するCRLすべてが結果として得られるCollectionに含まれないことがあります。 たとえば、LDAP CertStoreは、ディレクトリ内のすべてのエントリを検索しない場合があります。 代わりに、検索するCRLが含まれると考えられるエントリに絞って検索します。

      CertStoreの実装の中には、CRLを見つけるための特定の条件を含むnull以外のCRLSelectorが提供されないかぎり、CertStoreExceptionをスローするものがあります(特にLDAP CertStore)。 発行者の名前やチェック対象の証明書は特に役立ちます。

      パラメータ:
      selector - 返されるCRLを選択するために使用するCRLSelector nullを指定すると、サポートされている場合はすべてのCRLが返される
      戻り値:
      指定したセレクタに一致するCRLCollectionnullにはならない
      スロー:
      CertStoreException - 例外が発生する場合
    • getInstance

      指定したCertStore型を実装し、指定したパラメータで初期化されるCertStoreを返します。

      このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定された型をサポートする最初のProviderのCertStoreSpi実装をカプセル化する新しいCertStoreオブジェクトが返されます。

      登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。

      返されたCertStoreは指定されたCertStoreParametersで初期化されます。 必要なパラメータの型は、CertStoreの型によって異なります。 CertStoreParametersオブジェクトの複製を指定していることに注意してください。

      実装上のノート:
      JDKリファレンス実装では、さらにjdk.security.provider.preferred Securityプロパティを使用して、指定したアルゴリズムの優先プロバイダ順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。
      パラメータ:
      type - 要求するCertStoreタイプの名前。 標準型の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」のCertStoreの項を参照してください。
      params - 初期化パラメータ。nullも可。
      戻り値:
      指定されたCertStoreタイプを実装するCertStoreオブジェクト
      スロー:
      InvalidAlgorithmParameterException - 指定された初期化パラメータがこのCertStoreに対して不適切な場合
      NoSuchAlgorithmException - Providerが、指定された型のCertStoreSpi実装をサポートしていない場合
      NullPointerException - typenullである場合
      外部仕様
      関連項目:
    • getInstance

      指定されたCertStoreタイプを実装するCertStoreオブジェクトを返します。

      指定されたプロバイダのCertStoreSpi実装をカプセル化する新しいCertStoreオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。

      登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。

      返されたCertStoreは指定されたCertStoreParametersで初期化されます。 必要なパラメータの型は、CertStoreの型によって異なります。 CertStoreParametersオブジェクトの複製を指定していることに注意してください。

      パラメータ:
      type - 要求されたCertStoreタイプ。 標準型の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」のCertStoreの項を参照してください。
      params - 初期化パラメータ。nullも可。
      provider - プロバイダ名。
      戻り値:
      指定されたタイプを実装するCertStoreオブジェクト
      スロー:
      IllegalArgumentException - providernullまたは空の場合
      InvalidAlgorithmParameterException - 指定された初期化パラメータがこのCertStoreに対して不適切な場合
      NoSuchAlgorithmException - 指定された型のCertStoreSpi実装が、指定されたプロバイダから利用可能でない場合
      NoSuchProviderException - 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合
      NullPointerException - typenullである場合
      外部仕様
      関連項目:
    • 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 - typenullである場合
      外部仕様
      関連項目:
    • getCertStoreParameters

      public final CertStoreParameters getCertStoreParameters()
      このCertStoreを初期化するためのパラメータを返します。 返される前のCertStoreParametersオブジェクトは複製です。
      戻り値:
      このCertStoreを初期化するパラメータ。nullも可能
    • getType

      public final String getType()
      このCertStoreのタイプを返します。
      戻り値:
      このCertStoreの型
    • getProvider

      public final Provider getProvider()
      このCertStoreのプロバイダを返します。
      戻り値:
      このCertStoreのプロバイダ
    • getDefaultType

      public static final String getDefaultType()
      certstore.typeセキュリティ・プロパティに指定されたデフォルトのCertStoreタイプを返します。該当するプロパティが存在しない場合は、文字列「LDAP」を返します。

      デフォルトのCertStoreタイプを使用するのは、アプリケーションでgetInstanceメソッドを呼び出すときにハードコードされたタイプを使用しない場合、およびユーザーが独自のタイプを指定しないときにデフォルトのCertStoreタイプを提供する場合です。

      デフォルトのCertStoreタイプは、certstore.typeセキュリティ・プロパティの値を目的のタイプに設定することで変更できます。

      戻り値:
      certstore.typeセキュリティ・プロパティに指定されているデフォルトのCertStoreタイプ、該当するプロパティが存在しない場合は文字列「LDAP」。
      関連項目: