JavaTM 2
Platform
Std. Ed. v1.4.0

java.security.cert
クラス PKIXParameters

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

コンストラクタの詳細

PKIXParameters

public PKIXParameters(Set 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 getTrustAnchors()
最も信頼できる CA の不変な Set を返します。

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

setTrustAnchors

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

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

パラメータ:
trustAnchors - TrustAnchorSet
例外:
InvalidAlgorithmParameterException - 指定した Set が空 (trustAnchors.isEmpty() == true) である場合
NullPointerException - 指定した Setnull の場合
ClassCastException - セットの要素がどれも java.security.cert.TrustAnchor タイプではない場合
関連項目:
getTrustAnchors()

getInitialPolicies

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

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

setInitialPolicies

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

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

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

setCertStores

public void setCertStores(List stores)
証明書と CRL を見つけるために使用される CertStore のリストを設定します。使用される CertStore がない場合には、null になります。リストの最初の CertStore が、リストのあとの 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 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 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()

getCertPathCheckers

public List 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 オブジェクトの複製を作成します。複製への変更は元の PKIXParameters オブジェクトに影響を与えません。また逆も同じです。

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

toString

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

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

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.