JavaTM Platform
Standard Ed. 6

java.security.cert
クラス 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 を特定します。代わりに PKIXParameters(KeyStore) を呼び出す場合は、信頼できる証明書エントリが含まれる 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 のインスタンスを作成します。
 
メソッドの概要
 void addCertPathChecker(PKIXCertPathChecker checker)
          PKIXCertPathChecker を証明書パスチェッカーのリストに追加します。
 void addCertStore(CertStore store)
          CertStore を、証明書と CRL を見つけるために使用される CertStore のリストの最後に追加します。
 Object clone()
          PKIXParameters オブジェクトの複製を作成します。
 List<PKIXCertPathChecker> getCertPathCheckers()
          証明書パスチェッカーの List を返します。
 List<CertStore> getCertStores()
          証明書と CRL を見つけるために使用される CertStore の不変な List を返します。
 Date getDate()
          証明書パスの妥当性が判断される時刻を返します。
 Set<String> getInitialPolicies()
          どの初期ポリシーも証明書パス処理のために証明書ユーザーにとって許容できるような初期ポリシー識別子 (OID 文字列) の不変な Set を返します。
 boolean getPolicyQualifiersRejected()
          PolicyQualifiersRejected フラグを取得します。
 String getSigProvider()
          署名プロバイダの名前を返します。
 CertSelector getTargetCertConstraints()
          ターゲット証明書に要求された制約を返します。
 Set<TrustAnchor> getTrustAnchors()
          もっとも信頼できる CA の不変な Set を返します。
 boolean isAnyPolicyInhibited()
          任意のポリシー OID が証明書に含まれるとき、そのポリシー OID が処理されるべきかどうかをチェックします。
 boolean isExplicitPolicyRequired()
          明示的なポリシーが要求されているかどうかをチェックします。
 boolean isPolicyMappingInhibited()
          ポリシーマッピングが抑制されているかどうかをチェックします。
 boolean isRevocationEnabled()
          RevocationEnabled フラグをチェックします。
 void setAnyPolicyInhibited(boolean val)
          任意のポリシー OID が証明書に含まれるときに、そのポリシー OID が処理されなければならないかどうかを判断する状態を設定します。
 void setCertPathCheckers(List<PKIXCertPathChecker> checkers)
          追加の証明書パスチェッカーの List を設定します。
 void setCertStores(List<CertStore> stores)
          証明書と CRL を見つけるために使用される CertStore のリストを設定します。
 void setDate(Date date)
          証明書パスの妥当性が判断される時刻を設定します。
 void setExplicitPolicyRequired(boolean val)
          ExplicitPolicyRequired フラグを設定します。
 void setInitialPolicies(Set<String> initialPolicies)
          どの初期ポリシーも証明書パス処理のために証明書ユーザーにとって許容できる、そのような初期ポリシー識別子 (OID 文字列) の不変な Set を設定します。
 void setPolicyMappingInhibited(boolean val)
          PolicyMappingInhibited フラグを設定します。
 void setPolicyQualifiersRejected(boolean qualifiersRejected)
          PolicyQualifiersRejected フラグを設定します。
 void setRevocationEnabled(boolean val)
          RevocationEnabled フラグを設定します。
 void setSigProvider(String sigProvider)
          署名プロバイダの名前を設定します。
 void setTargetCertConstraints(CertSelector selector)
          ターゲット証明書に要求された制約を設定します。
 void setTrustAnchors(Set<TrustAnchor> trustAnchors)
          もっとも信頼できる CA の Set を設定します。
 String toString()
          パラメータを説明する書式付き文字列を返します。
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

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 のインスタンスを作成します。信頼できる X509Certificate を含むキーストアエントリだけが対象となり、それ以外の証明書タイプはすべて無視されます。

パラメータ:
keystore - もっとも信頼できる CA のセットが生成される KeyStore
例外:
KeyStoreException - キーストアが初期化されていない場合
InvalidAlgorithmParameterException - キーストアに信頼できる証明書エントリが 1 つも含まれない場合
NullPointerException - キーストアが null の場合
メソッドの詳細

getTrustAnchors

public Set<TrustAnchor> getTrustAnchors()
もっとも信頼できる CA の不変な Set を返します。

戻り値:
TrustAnchor の不変の Setnull にはならない
関連項目:
setTrustAnchors(java.util.Set)

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 型ではない場合
関連項目:
getTrustAnchors()

getInitialPolicies

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

戻り値:
String 形式の初期ポリシー OID の不変の Set、または空の Set (どのポリシーも許容できることを意味する)。null を返すことはない
関連項目:
setInitialPolicies(java.util.Set)

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 - 追加される CertStorenull の場合、ストアは無視される (リストに追加されない)

getCertStores

public List<CertStore> getCertStores()
証明書と CRL を見つけるために使用される CertStore の不変な List を返します。

戻り値:
CertStore の不変の List (空にはなるが、null にはならない)
関連項目:
setCertStores(java.util.List)

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 - PKIXCertPathCheckerListnull の場合、追加のチェッカーは使用されない
例外:
ClassCastException - リストの要素がどれも java.security.cert.PKIXCertPathChecker 型ではない場合
関連項目:
getCertPathCheckers()

getCertPathCheckers

public List<PKIXCertPathChecker> getCertPathCheckers()
証明書パスチェッカーの List を返します。返された List は不変であり、List 内の各 PKIXCertPathChecker は以後の変更から保護するために複製されています。

戻り値:
PKIXCertPathChecker の不変の List (空にはなるが、null にはならない)
関連項目:
setCertPathCheckers(java.util.List)

addCertPathChecker

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

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

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

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 オブジェクトの複製を作成します。コピーに変更を加えても元の属性には影響ありません。 また逆の場合も同じです。

定義:
インタフェース CertPathParameters 内の clone
オーバーライド:
クラス Object 内の clone
戻り値:
この PKIXParameters オブジェクトの複製
関連項目:
Cloneable

toString

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

オーバーライド:
クラス Object 内の 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 も参照してください。