JavaTM Platform
Standard Ed. 6

java.security.cert
クラス PKIXBuilderParameters

java.lang.Object
  上位を拡張 java.security.cert.PKIXParameters
      上位を拡張 java.security.cert.PKIXBuilderParameters
すべての実装されたインタフェース:
Cloneable, CertPathParameters

public class PKIXBuilderParameters
extends PKIXParameters

PKIX CertPathBuilder アルゴリズムの入力で使用されるパラメータです。  

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

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

さらにアプリケーションでは、CertPathBuilder がパスを構築しようとするターゲット証明書の制約を指定する必要があります。制約は、CertSelector オブジェクトとして指定されます。これらの制約により、ターゲット証明書を見つけるための十分な検索基準が CertPathBuilder に与えられます。通常、X509Certificate の最小基準には、被認証者の名前や 1 つ以上の被認証者の代替名が含まれています。十分な基準が指定されない場合、CertPathBuilderCertPathBuilderException をスローします。  

並行アクセス  

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

導入されたバージョン:
1.4
関連項目:
CertPathBuilder

コンストラクタの概要
PKIXBuilderParameters(KeyStore keystore, CertSelector targetConstraints)
          もっとも信頼できる CA のセットを、指定した KeyStore に含まれる信頼できる証明書エントリから生成する、PKIXBuilderParameters のインスタンスを作成します。
PKIXBuilderParameters(Set<TrustAnchor> trustAnchors, CertSelector targetConstraints)
          もっとも信頼できる CA からなる指定した Set で、PKIXBuilderParameters のインスタンスを作成します。
 
メソッドの概要
 int getMaxPathLength()
          証明書パスに存在する、自己発行でない中間証明書の最大数を返します。
 void setMaxPathLength(int maxPathLength)
          証明書パスに存在する、自己発行でない中間証明書の最大数を設定します。
 String toString()
          パラメータを説明する書式付き文字列を返します。
 
クラス java.security.cert.PKIXParameters から継承されたメソッド
addCertPathChecker, addCertStore, clone, getCertPathCheckers, getCertStores, getDate, getInitialPolicies, getPolicyQualifiersRejected, getSigProvider, getTargetCertConstraints, getTrustAnchors, isAnyPolicyInhibited, isExplicitPolicyRequired, isPolicyMappingInhibited, isRevocationEnabled, setAnyPolicyInhibited, setCertPathCheckers, setCertStores, setDate, setExplicitPolicyRequired, setInitialPolicies, setPolicyMappingInhibited, setPolicyQualifiersRejected, setRevocationEnabled, setSigProvider, setTargetCertConstraints, setTrustAnchors
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

PKIXBuilderParameters

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

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

パラメータ:
trustAnchors - TrustAnchorSet
targetConstraints - ターゲット証明書の制約を指定する CertSelector
例外:
InvalidAlgorithmParameterException - trustAnchors が空 (trustAnchors.isEmpty() == true) である場合
NullPointerException - trustAnchorsnull の場合
ClassCastException - trustAnchors の要素がどれも java.security.cert.TrustAnchor 型ではない場合

PKIXBuilderParameters

public PKIXBuilderParameters(KeyStore keystore,
                             CertSelector targetConstraints)
                      throws KeyStoreException,
                             InvalidAlgorithmParameterException
もっとも信頼できる CA のセットを、指定した KeyStore に含まれる信頼できる証明書エントリから生成する、PKIXBuilderParameters のインスタンスを作成します。信頼できる X509Certificate を含むキーストアエントリだけが対象となり、それ以外の証明書タイプはすべて無視されます。

パラメータ:
keystore - もっとも信頼できる CA のセットが生成される KeyStore
targetConstraints - ターゲット証明書の制約を指定する CertSelector
例外:
KeyStoreException - keystore が初期化されていない場合
InvalidAlgorithmParameterException - keystore に信頼できる証明書エントリが 1 つも含まれない場合
NullPointerException - keystorenull の場合
メソッドの詳細

setMaxPathLength

public void setMaxPathLength(int maxPathLength)
証明書パスに存在する、自己発行でない中間証明書の最大数を設定します。被認証者フィールドと発行者フィールドの DN がそれぞれ特定でき、空ではない場合、証明書は自己発行されています。証明書パスの最後の証明書は中間証明書ではないため、この上限値には含まれません。通常、最後の証明書はエンドエンティティー証明書ですが、CA 証明書となる場合もあります。PKIX CertPathBuilder インスタンスによって構築されるパスは、ここで指定した長さよりも長くなってはいけません。

値が 0 の場合、パスには証明書が 1 つだけ含まれていることを表します。-1 の場合は、パス長に制約がありません (つまり最大値がない)。指定しない場合のデフォルトの最大パス長は 5 です。 -1 よりも小さい値を設定すると、例外がスローされます。

あらゆる CA 証明書に BasicConstraintsExtension が含まれている場合、機能拡張の pathLenConstraint フィールドの値は、結果の証明書パス長が短いときは常に、最大パス長のパラメータでオーバーライドされます。

パラメータ:
maxPathLength - 証明書パスに存在する、自己発行でない中間証明書の最大数
例外:
InvalidParameterException - maxPathLength の値が -1 より小さい場合
関連項目:
getMaxPathLength()

getMaxPathLength

public int getMaxPathLength()
証明書パスに存在する、自己発行でない中間証明書の最大数を返します。詳細については、setMaxPathLength(int) メソッドを参照してください。

戻り値:
証明書パスに存在する、自己発行でない中間証明書の最大数。上限がない場合は -1
関連項目:
setMaxPathLength(int)

toString

public String toString()
パラメータを説明する書式付き文字列を返します。

オーバーライド:
クラス PKIXParameters 内の toString
戻り値:
パラメータを説明する書式付き文字列

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。