モジュール java.base
パッケージ 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
    関連項目:
    CertPathValidator
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      PKIXParameters​(KeyStore keystore)
      もっとも信頼できるCAのセットを、指定したKeyStoreに含まれる信頼できる証明書エントリから生成する、PKIXParametersのインスタンスを作成します。
      PKIXParameters​(Set<TrustAnchor> trustAnchors)
      もっとも信頼できるCAからなる指定したSetで、PKIXParametersのインスタンスを作成します。
    • コンストラクタの詳細

      • 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である場合
    • メソッドの詳細

      • getInitialPolicies

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

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

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

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

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

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

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

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

        public void setRevocationEnabled​(boolean val)
        RevocationEnabledフラグを設定します。 このフラグがtrueの場合、基本となるPKIXサービス・プロバイダのデフォルトの取消しチェック・メカニズムが使用されます。 falseの場合、デフォルトの取消しチェック・メカニズムは無効にされます(使用されない)。

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

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

        public boolean isRevocationEnabled()
        RevocationEnabledフラグをチェックします。 このフラグがtrueの場合、基本となる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(), PolicyQualifierInfo
      • getPolicyQualifiersRejected

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

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

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

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

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

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

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

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

        パラメータ:
        date - Date。現在時刻の場合はnull
        関連項目:
        getDate()
      • 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()
      • addCertPathChecker

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

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

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

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

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

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

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

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

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

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

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

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

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