クラスPKIXParameters

java.lang.Object
java.security.cert.PKIXParameters
すべての実装されたインタフェース:
Cloneable, CertPathParameters
直系の既知のサブクラス:
PKIXBuilderParameters

public class PKIXParameters extends Object implements CertPathParameters
PKIX CertPathValidatorアルゴリズムの入力で使用されるパラメータです。

PKIX CertPathValidatorではこれらのパラメータを使用し、PKIX証明書パス検査アルゴリズムに従ってCertPathを検査します。

PKIXParametersオブジェクトをインスタンス化するには、アプリケーションでPKIX証明書パス検査アルゴリズムで定義されるもっとも信頼できるCAを1つ以上指定しなければいけません。 もっとも信頼できるCAは、2つのコンストラクタのどちらかを使用して指定されます。 PKIXParameters(Set)を呼び出す場合は、TrustAnchorオブジェクトのSetを指定します。それぞれのTrustAnchorオブジェクトではもっとも信頼できるCAを特定します。 またアプリケーションは、信頼できる証明書エントリが含まれるKeyStoreインスタンスを指定してPKIXParameters(KeyStore)を呼び出すことができます。それぞれの証明書エントリがもっとも信頼できるCAになります。

PKIXParametersオブジェクトが作成されると、(たとえばsetInitialPoliciesまたはsetDateを呼び出して)ほかのパラメータを指定し、PKIXParametersが検査対象のCertPathとともにCertPathValidator.validateに渡されます。

設定されていない(またはnullに設定されている)パラメータは、それぞれのデフォルト値に設定されます。 dateパラメータのデフォルト値はnullで、パスが検証されたときの現在時刻を示します。 そのほかのパラメータのデフォルト値はほとんど制約されません。

並行アクセス

特に断らないかぎり、このクラスで定義されているメソッドはスレッドセーフではありません。 単一のオブジェクトに並行アクセスする必要のある複数スレッドは、スレッド間で同期をとり、必要に応じてロックする必要があります。 複数のスレッドがそれぞれ個別のオブジェクトを処理する場合、それらのスレッドは同期する必要はありません。

導入されたバージョン:
1.4
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    もっとも信頼できるCAのセットを、指定したKeyStoreに含まれる信頼できる証明書エントリから生成する、PKIXParametersのインスタンスを作成します。
    もっとも信頼できるCAからなる指定したSetで、PKIXParametersのインスタンスを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    PKIXCertPathCheckerを証明書パス・チェッカのリストに追加します。
    void
    CertStoreを、証明書とCRLを見つけるために使用されるCertStoreのリストの最後に追加します。
    このPKIXParametersオブジェクトのコピーを作成します。
    証明書パス・チェッカのListを返します。
    証明書とCRLを見つけるために使用されるCertStoreの不変なListを返します。
    証明書パスの妥当性が判断される時刻を返します。
    どの初期ポリシーも証明書パス処理のために証明書ユーザーにとって許容できるような初期ポリシー識別子(OID文字列)の不変なSetを返します。
    boolean
    PolicyQualifiersRejectedフラグを取得します。
    署名プロバイダの名前を返します。設定されていない場合はnullを返します。
    ターゲット証明書に要求された制約を返します。
    もっとも信頼できるCAの不変なSetを返します。
    boolean
    任意のポリシーOIDが証明書に含まれるとき、そのポリシーOIDが処理されるべきかどうかをチェックします。
    boolean
    明示的なポリシーが要求されているかどうかをチェックします。
    boolean
    ポリシー・マッピングが抑制されているかどうかをチェックします。
    boolean
    RevocationEnabledフラグをチェックします。
    void
    setAnyPolicyInhibited(boolean val)
    任意のポリシーOIDが証明書に含まれるときに、そのポリシーOIDが処理されなければならないかどうかを判断する状態を設定します。
    void
    追加の証明書パス・チェッカのListを設定します。
    void
    証明書とCRLを見つけるために使用されるCertStoreのリストを設定します。
    void
    setDate(Date date)
    証明書パスの妥当性が判断される時刻を設定します。
    void
    ExplicitPolicyRequiredフラグを設定します。
    void
    setInitialPolicies(Set<String> initialPolicies)
    初期ポリシー識別子(OID文字列)のSetを設定して、証明書パス処理のためにどの初期ポリシーも証明書ユーザーが許容できることを示します。
    void
    PolicyMappingInhibitedフラグを設定します。
    void
    setPolicyQualifiersRejected(boolean qualifiersRejected)
    PolicyQualifiersRejectedフラグを設定します。
    void
    setRevocationEnabled(boolean val)
    RevocationEnabledフラグを設定します。
    void
    setSigProvider(String sigProvider)
    署名プロバイダの名前を設定します。
    void
    ターゲット証明書に要求された制約を設定します。
    void
    もっとも信頼できるCAのSetを設定します。
    パラメータを説明する書式付き文字列を返します。

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

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    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であるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • PKIXParameters

      public PKIXParameters(Set<TrustAnchor> trustAnchors) throws InvalidAlgorithmParameterException
      もっとも信頼できるCAからなる指定したSetで、PKIXParametersのインスタンスを作成します。 セットの各要素はTrustAnchorです。

      以後の変更から保護するために、Setは複製されています。

      パラメータ:
      trustAnchors - TrustAnchorSet
      スロー:
      InvalidAlgorithmParameterException - 指定されたSetが空((trustAnchors.isEmpty()== true))である場合
      NullPointerException - 指定されたSetnullである場合
      ClassCastException - Setの要素のいずれかがjava.security.cert.TrustAnchor型ではない場合
    • PKIXParameters

      public PKIXParameters(KeyStore keystore) throws KeyStoreException, InvalidAlgorithmParameterException
      もっとも信頼できるCAのセットを、指定したKeyStoreに含まれる信頼できる証明書エントリから生成する、PKIXParametersのインスタンスを作成します。 信頼できるX509Certificatesを含むキーストア・エントリだけが対象となり、それ以外の証明書タイプはすべて無視されます。
      パラメータ:
      keystore - もっとも信頼できるCAのセットが生成されるKeyStore
      スロー:
      KeyStoreException - キーストアが初期化されていない場合
      InvalidAlgorithmParameterException - キーストアに信頼できる証明書エントリが1つも含まれない場合
      NullPointerException - キーストアがnullである場合
  • メソッドの詳細

    • getTrustAnchors

      public Set<TrustAnchor> getTrustAnchors()
      もっとも信頼できるCAの不変なSetを返します。
      戻り値:
      TrustAnchorの不変のSetnullにはならない
      関連項目:
    • setTrustAnchors

      public void setTrustAnchors(Set<TrustAnchor> trustAnchors) throws InvalidAlgorithmParameterException
      もっとも信頼できるCAのSetを設定します。

      以後の変更から保護するために、Setは複製されています。

      パラメータ:
      trustAnchors - TrustAnchorSet
      スロー:
      InvalidAlgorithmParameterException - 指定されたSetが空((trustAnchors.isEmpty()== true))である場合
      NullPointerException - 指定されたSetnullである場合
      ClassCastException - セットの要素のいずれかが型java.security.cert.TrustAnchorではない場合
      関連項目:
    • getInitialPolicies

      public Set<String> getInitialPolicies()
      どの初期ポリシーも証明書パス処理のために証明書ユーザーにとって許容できるような初期ポリシー識別子(OID文字列)の不変なSetを返します。 デフォルトの戻り値は空のSetで、どのポリシーも許容可能として解釈されます。
      戻り値:
      String形式の初期ポリシーOIDの不変のSet、または空のSet (どのポリシーも許容できることを意味する)。 nullを返すことはない。
      関連項目:
    • setInitialPolicies

      public void setInitialPolicies(Set<String> initialPolicies)
      初期ポリシー識別子(OID文字列)のSetを設定して、証明書パス処理のためにどの初期ポリシーも証明書ユーザーが許容できることを示します。 デフォルトでは、どのポリシーも(つまりすべてのポリシーを)許容できるため、どのポリシーも許容できるようにしたいユーザーはこのメソッドを呼び出す必要はありません。または、空のSet (またはnull)で呼び出すことができます。

      以後の変更から保護するために、Setは複製されています。

      パラメータ:
      initialPolicies - String形式の初期ポリシーOIDのSet (またはnull)
      スロー:
      ClassCastException - セットの要素のいずれかが型Stringではない場合
      関連項目:
    • setCertStores

      public void setCertStores(List<CertStore> stores)
      証明書とCRLを見つけるために使用されるCertStoreのリストを設定します。 使用されるCertStoreがない場合には、nullになります。 リスト中の最初のCertStoreは、後のエントリに優先します。

      以後の変更から保護するために、Listは複製されています。

      パラメータ:
      stores - CertStoreList、またはnull
      スロー:
      ClassCastException - リストの要素のいずれかが型java.security.cert.CertStoreではない場合
      関連項目:
    • addCertStore

      public void addCertStore(CertStore store)
      CertStoreを、証明書とCRLを見つけるために使用されるCertStoreのリストの最後に追加します。
      パラメータ:
      store - 追加されるCertStore nullの場合、ストアは無視される(リストに追加されない)。
    • getCertStores

      public List<CertStore> getCertStores()
      証明書とCRLを見つけるために使用されるCertStoreの不変なListを返します。
      戻り値:
      CertStoreの不変なList (空は可、nullは不可)
      関連項目:
    • setRevocationEnabled

      public void setRevocationEnabled(boolean val)
      RevocationEnabledフラグを設定します。 このフラグがtrueの場合、PKIXRevocationCheckerCertPathChecker (詳細は、次の説明を参照してください)として渡されないかぎり、基礎となるPKIXサービス・プロバイダのデフォルト取消しチェック・メカニズムが使用されます。 falseの場合、デフォルトの取消しチェック・メカニズムは無効にされます(使用されない)。

      PKIXParametersオブジェクトが作成されると、このフラグはtrueに設定されます。 各サービス・プロバイダではPKIXに準拠するために取消しチェックをサポートする必要があるので、この設定は取消しをチェックするもっとも一般的な方法を反映しています。 PKIXサービス・プロバイダのデフォルトの取消しチェック・メカニズムを使用することが実際的でないときや、代替の取消しチェック・メカニズムが代わりをするときは(addCertPathCheckerまたはsetCertPathCheckersメソッドを呼び出すことによっても)、高度なアプリケーションでこのフラグをfalseに設定する必要があります。

      PKIXRevocationCheckeraddCertPathCheckerまたはsetCertPathCheckersメソッドを介してパラメータとして渡される場合、RevocationEnabledフラグの設定に関係なく失効をチェックするために使用されます。

      パラメータ:
      val - RevocationEnabledフラグの新しい値
    • isRevocationEnabled

      public boolean isRevocationEnabled()
      RevocationEnabledフラグをチェックします。 このフラグがtrueの場合、PKIXRevocationCheckerCertPathCheckerとして渡されないかぎり、基礎となるPKIXサービス・プロバイダのデフォルト取消しチェック・メカニズムが使用されます。 falseの場合、デフォルトの取消しチェック・メカニズムは無効にされます(使用されない)。 このフラグの値の設定の詳細は、setRevocationEnabledメソッドを参照してください。
      戻り値:
      RevocationEnabledフラグの現在の値
    • setExplicitPolicyRequired

      public void setExplicitPolicyRequired(boolean val)
      ExplicitPolicyRequiredフラグを設定します。 このフラグがtrueの場合、許容できるポリシーがそれぞれの証明書で明示的に特定されている必要があります。 デフォルトでExplicitPolicyRequiredフラグはfalseです。
      パラメータ:
      val - 明示的なポリシーが要求されている場合はtrue、そうでない場合はfalse
    • isExplicitPolicyRequired

      public boolean isExplicitPolicyRequired()
      明示的なポリシーが要求されているかどうかをチェックします。 このフラグがtrueの場合、許容できるポリシーがそれぞれの証明書で明示的に特定されている必要があります。 デフォルトでExplicitPolicyRequiredフラグはfalseです。
      戻り値:
      明示的なポリシーが要求されている場合はtrue、そうでない場合はfalse
    • setPolicyMappingInhibited

      public void setPolicyMappingInhibited(boolean val)
      PolicyMappingInhibitedフラグを設定します。 このフラグがtrueの場合、ポリシー・マッピングは抑制されています。 デフォルトでポリシー・マッピングは抑制されていません(フラグはfalse)。
      パラメータ:
      val - ポリシー・マッピングが抑制されている場合はtrue、そうでない場合はfalse
    • isPolicyMappingInhibited

      public boolean isPolicyMappingInhibited()
      ポリシー・マッピングが抑制されているかどうかをチェックします。 このフラグがtrueの場合、ポリシー・マッピングは抑制されています。 デフォルトでポリシー・マッピングは抑制されていません(フラグはfalse)。
      戻り値:
      ポリシー・マッピングが抑制されている場合はtrue、そうでない場合はfalse
    • setAnyPolicyInhibited

      public void setAnyPolicyInhibited(boolean val)
      任意のポリシーOIDが証明書に含まれるときに、そのポリシーOIDが処理されなければならないかどうかを判断する状態を設定します。 デフォルトでは、ポリシーOIDは抑制されません(isAnyPolicyInhibited()falseを返す)。
      パラメータ:
      val - 任意のポリシーOIDが抑制される場合はtrue、そうでない場合はfalse
    • isAnyPolicyInhibited

      public boolean isAnyPolicyInhibited()
      任意のポリシーOIDが証明書に含まれるとき、そのポリシーOIDが処理されるべきかどうかをチェックします。
      戻り値:
      任意のポリシーOIDが抑制されている場合はtrue、そうでない場合はfalse
    • setPolicyQualifiersRejected

      public void setPolicyQualifiersRejected(boolean qualifiersRejected)
      PolicyQualifiersRejectedフラグを設定します。 このフラグがtrueの場合、クリティカルにマークされている証明書ポリシー機能拡張にポリシー修飾子を含む証明書は、拒否されます。 フラグがfalseの場合、この理由では拒否されません。

      PKIXParametersオブジェクトが作成されると、このフラグはtrueに設定されます。 この設定は、ポリシー修飾子を処理するためのもっとも一般的な(かつ簡単な)方法を反映します。 より複雑なポリシーを使用するアプリケーションでは、このフラグをfalseに設定する必要があります。

      PKIX証明書パス検査アルゴリズムでは、クリティカルにマークされた証明書ポリシー拡張機能のポリシー修飾子が必ず処理され、検査されるように指定します。 ポリシー修飾子が処理および検査されないと、その証明書パスは拒否されます。 policyQualifiersRejectedフラグがfalseに設定されている場合、PKIX互換のためにこの方法ですべてのポリシー修飾子を検査するかどうかは、アプリケーションによって異なります。

      パラメータ:
      qualifiersRejected - PolicyQualifiersRejectedフラグの新しい値
      関連項目:
    • getPolicyQualifiersRejected

      public boolean getPolicyQualifiersRejected()
      PolicyQualifiersRejectedフラグを取得します。 このフラグがtrueの場合、クリティカルにマークされている証明書ポリシー機能拡張にポリシー修飾子を含む証明書は、拒否されます。 フラグがfalseの場合、この理由では拒否されません。

      PKIXParametersオブジェクトが作成されると、このフラグはtrueに設定されます。 この設定は、ポリシー修飾子を処理するためのもっとも一般的な(かつ簡単な)方法を反映します。 より複雑なポリシーを使用するアプリケーションでは、このフラグをfalseに設定する必要があります。

      戻り値:
      PolicyQualifiersRejectedフラグの現在の値
      関連項目:
    • getDate

      public Date getDate()
      証明書パスの妥当性が判断される時刻を返します。 nullの場合、現在時刻が使われます。

      以後の変更から保護するために、返されるDateは複製されています。

      戻り値:
      Date。設定されていない場合はnull
      関連項目:
    • setDate

      public void setDate(Date date)
      証明書パスの妥当性が判断される時刻を設定します。 nullの場合、現在時刻が使われます。

      以後の変更から保護するために、ここで提供されるDateは複製されています。

      パラメータ:
      date - Date。現在時刻の場合はnull
      関連項目:
    • setCertPathCheckers

      public void setCertPathCheckers(List<PKIXCertPathChecker> checkers)
      追加の証明書パス・チェッカのListを設定します。 指定したListPKIXCertPathCheckerでないオブジェクトが含まれる場合は無視されます。

      指定した各PKIXCertPathCheckerでは、証明書の追加チェックを実装しています。 通常、証明書に含まれている専用の機能拡張を、処理および検査しているかどうかをチェックします。 それぞれのPKIXCertPathCheckerは、チェックを行うために必要な初期化パラメータでインスタンス化されなければいけません。

      高度なアプリケーションでは、このメソッドによりPKIX CertPathValidatorCertPathBuilderを拡張できます。 処理された、または検査された証明書のぞれぞれに対し、指定したPKIXCertPathCheckerが、PKIX CertPathValidatorCertPathBuilderによってそれぞれ順番に呼び出されます。

      これらの追加PKIXCertPathCheckerが設定されているかどうかにかかわらず、PKIX CertPathValidatorCertPathBuilderでは要求された各証明書のPKIXチェックをすべて実行する必要があります。 このルールの例外の1つに、RevocationEnabledフラグがfalseに設定された場合があります(setRevocationEnabledメソッド参照)。

      以後の変更から保護するために、ここで提供されるListとリスト内の各PKIXCertPathCheckerは複製されています。

      パラメータ:
      checkers - PKIXCertPathCheckerList nullの場合、追加のチェッカは使用されない。
      スロー:
      ClassCastException - リストの要素のいずれかが型java.security.cert.PKIXCertPathCheckerではない場合
      関連項目:
    • getCertPathCheckers

      public List<PKIXCertPathChecker> getCertPathCheckers()
      証明書パス・チェッカのListを返します。 返されたListは不変であり、List内の各PKIXCertPathCheckerは以後の変更から保護するために複製されています。
      戻り値:
      PKIXCertPathCheckerの不変なList (空は可、nullは不可)
      関連項目:
    • addCertPathChecker

      public void addCertPathChecker(PKIXCertPathChecker checker)
      PKIXCertPathCheckerを証明書パス・チェッカのリストに追加します。 詳細は、setCertPathCheckersメソッドを参照してください。

      以後の変更から保護するために、PKIXCertPathCheckerは複製されています。

      パラメータ:
      checker - チェックのリストに追加されるPKIXCertPathChecker nullの場合、チェッカは無視される(リストに追加されない)。
    • getSigProvider

      public String getSigProvider()
      署名プロバイダの名前を返します。設定されていない場合はnullを返します。
      戻り値:
      署名プロバイダの名前、またはnull
      関連項目:
    • setSigProvider

      public void setSigProvider(String sigProvider)
      署名プロバイダの名前を設定します。 Signatureオブジェクトを作成するときには、指定したプロバイダが推奨されます。 null、または設定されていない場合は、アルゴリズムをサポートする、最初に見つかったプロバイダが使用されます。
      パラメータ:
      sigProvider - 署名プロバイダの名前、またはnull
      関連項目:
    • getTargetCertConstraints

      public CertSelector getTargetCertConstraints()
      ターゲット証明書に要求された制約を返します。 制約はCertSelectorのインスタンスとして返されます。 nullの場合は、制約が定義されていません。

      以後の変更から保護するために、返されるCertSelectorは複製されています。

      戻り値:
      ターゲット証明書の制約を指定するCertSelector、またはnull
      関連項目:
    • setTargetCertConstraints

      public void setTargetCertConstraints(CertSelector selector)
      ターゲット証明書に要求された制約を設定します。 制約はCertSelectorのインスタンスとして指定されます。 nullの場合は、制約が定義されていません。

      以後の変更から保護するために、指定されたCertSelectorは複製されています。

      パラメータ:
      selector - ターゲット証明書の制約を指定するCertSelector、またはnull
      関連項目:
    • clone

      public Object clone()
      このPKIXParametersオブジェクトのコピーを作成します。 コピーに変更を加えても元の属性には影響ありません。また逆の場合も同じです。
      定義:
      clone、インタフェースCertPathParameters
      オーバーライド:
      clone、クラスObject
      戻り値:
      このPKIXParametersオブジェクトのコピー
      関連項目:
    • toString

      public String toString()
      パラメータを説明する書式付き文字列を返します。
      オーバーライド:
      toString、クラスObject
      戻り値:
      パラメータを説明する書式付き文字列。