public class PKIXParameters extends Object implements CertPathParameters
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で、パスが検証されたときの現在時刻を示します。そのほかのパラメータのデフォルト値はほとんど制約されません。
並行アクセス
特に断らないかぎり、このクラスで定義されているメソッドはスレッドセーフではありません。単一のオブジェクトに並行アクセスする必要のある複数スレッドは、スレッド間で同期をとり、必要に応じてロックする必要があります。複数のスレッドがそれぞれ個別のオブジェクトを処理する場合、それらのスレッドは同期する必要はありません。
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()
署名プロバイダの名前を返します。設定されていない場合は
nullを返します。 |
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()
パラメータを説明する書式付き文字列を返します。
|
public PKIXParameters(Set<TrustAnchor> trustAnchors) throws InvalidAlgorithmParameterException
Setで、PKIXParametersのインスタンスを作成します。セットの各要素はTrustAnchorです。
以後の変更から保護するために、Setは複製されています。
trustAnchors - TrustAnchorのSetInvalidAlgorithmParameterException - 指定されたSetが空((trustAnchors.isEmpty()== true))である場合NullPointerException - 指定されたSetがnullである場合ClassCastException - Setの要素のいずれかがjava.security.cert.TrustAnchor型ではない場合public PKIXParameters(KeyStore keystore) throws KeyStoreException, InvalidAlgorithmParameterException
KeyStoreに含まれる信頼できる証明書エントリから生成する、PKIXParametersのインスタンスを作成します。信頼できるX509Certificatesを含むキーストア・エントリだけが対象となり、それ以外の証明書タイプはすべて無視されます。keystore - もっとも信頼できるCAのセットが生成されるKeyStoreKeyStoreException - キーストアが初期化されていない場合InvalidAlgorithmParameterException - キーストアに信頼できる証明書エントリが1つも含まれない場合NullPointerException - キーストアがnullである場合public Set<TrustAnchor> getTrustAnchors()
Setを返します。TrustAnchorの不変のSet。nullにはならないsetTrustAnchors(java.util.Set<java.security.cert.TrustAnchor>)public void setTrustAnchors(Set<TrustAnchor> trustAnchors) throws InvalidAlgorithmParameterException
Setを設定します。
以後の変更から保護するために、Setは複製されています。
trustAnchors - TrustAnchorのSetInvalidAlgorithmParameterException - 指定されたSetが空((trustAnchors.isEmpty()== true))である場合NullPointerException - 指定されたSetがnullである場合ClassCastException - セットの要素のいずれかが次の型ではない場合: java.security.cert.TrustAnchorgetTrustAnchors()public Set<String> getInitialPolicies()
Setを返します。デフォルトの戻り値は空のSetで、どのポリシーも許容可能として解釈されます。String形式の初期ポリシーOIDの不変のSet、または空のSet (どのポリシーも許容できることを意味する)。nullを返すことはない。setInitialPolicies(java.util.Set<java.lang.String>)public void setInitialPolicies(Set<String> initialPolicies)
Setを設定して、証明書パス処理のためにどの初期ポリシーも証明書ユーザーが許容できることを示します。デフォルトでは、どのポリシーも(つまりすべてのポリシーを)許容できるため、どのポリシーも許容できるようにしたいユーザーはこのメソッドを呼び出す必要はありません。または、空のSet (またはnull)で呼び出すことができます。
以後の変更から保護するために、Setは複製されています。
initialPolicies - String形式の初期ポリシーOIDのSet (またはnull)ClassCastException - セットの要素のいずれかが次の型ではない場合: StringgetInitialPolicies()public void setCertStores(List<CertStore> stores)
CertStoreのリストを設定します。使用されるCertStoreがない場合には、nullになります。リスト中の最初のCertStoreは、後のエントリに優先します。
以後の変更から保護するために、Listは複製されています。
stores - CertStoreのList、またはnullClassCastException - リストの要素のいずれかが次の型ではない場合: java.security.cert.CertStoregetCertStores()public void addCertStore(CertStore store)
CertStoreを、証明書とCRLを見つけるために使用されるCertStoreのリストの最後に追加します。store - 追加されるCertStore。nullの場合、ストアは無視される(リストに追加されない)。public List<CertStore> getCertStores()
CertStoreの不変なListを返します。CertStoreの不変なList (空は可、nullは不可)setCertStores(java.util.List<java.security.cert.CertStore>)public void setRevocationEnabled(boolean val)
PKIXParametersオブジェクトが作成されると、このフラグはtrueに設定されます。各サービス・プロバイダではPKIXに準拠するために取消しチェックをサポートする必要があるので、この設定は取消しをチェックするもっとも一般的な方法を反映しています。PKIXサービス・プロバイダのデフォルトの取消しチェック・メカニズムを使用することが実際的でないときや、代替の取消しチェック・メカニズムが代わりをするときは(addCertPathCheckerまたはsetCertPathCheckersメソッドを呼び出すことによっても)、高度なアプリケーションでこのフラグをfalseに設定する必要があります。
val - RevocationEnabledフラグの新しい値public boolean isRevocationEnabled()
setRevocationEnabledメソッドを参照してください。public void setExplicitPolicyRequired(boolean val)
val - 明示的なポリシーが要求されている場合はtrue、そうでない場合はfalsepublic boolean isExplicitPolicyRequired()
true、そうでない場合はfalsepublic void setPolicyMappingInhibited(boolean val)
val - ポリシー・マッピングが抑制されている場合はtrue、そうでない場合はfalsepublic boolean isPolicyMappingInhibited()
public void setAnyPolicyInhibited(boolean val)
isAnyPolicyInhibited()はfalseを返す)。val - 任意のポリシーOIDが抑制される場合はtrue、そうでない場合はfalsepublic boolean isAnyPolicyInhibited()
true、そうでない場合はfalsepublic void setPolicyQualifiersRejected(boolean qualifiersRejected)
PKIXParametersオブジェクトが作成されると、このフラグはtrueに設定されます。この設定は、ポリシー修飾子を処理するためのもっとも一般的な(かつ簡単な)方法を反映します。より複雑なポリシーを使用するアプリケーションでは、このフラグをfalseに設定する必要があります。
PKIX証明書パス検査アルゴリズムでは、クリティカルにマークされた証明書ポリシー拡張機能のポリシー修飾子が必ず処理され、検査されるように指定します。ポリシー修飾子が処理および検査されないと、その証明書パスは拒否されます。policyQualifiersRejectedフラグがfalseに設定されている場合、PKIX互換のためにこの方法ですべてのポリシー修飾子を検査するかどうかは、アプリケーションによって異なります。
qualifiersRejected - PolicyQualifiersRejectedフラグの新しい値getPolicyQualifiersRejected(), PolicyQualifierInfopublic boolean getPolicyQualifiersRejected()
PKIXParametersオブジェクトが作成されると、このフラグはtrueに設定されます。この設定は、ポリシー修飾子を処理するためのもっとも一般的な(かつ簡単な)方法を反映します。より複雑なポリシーを使用するアプリケーションでは、このフラグをfalseに設定する必要があります。
setPolicyQualifiersRejected(boolean)public Date getDate()
nullの場合、現在時刻が使われます。
以後の変更から保護するために、返されるDateは複製されています。
Date。設定されていない場合はnullsetDate(java.util.Date)public void setDate(Date date)
nullの場合、現在時刻が使われます。
以後の変更から保護するために、ここで提供されるDateは複製されています。
date - Date。現在時刻の場合はnullgetDate()public void setCertPathCheckers(List<PKIXCertPathChecker> checkers)
Listを設定します。指定したListにPKIXCertPathCheckerでないオブジェクトが含まれる場合は無視されます。
指定した各PKIXCertPathCheckerでは、証明書の追加チェックを実装しています。通常、証明書に含まれている専用の機能拡張を、処理および検査しているかどうかをチェックします。それぞれのPKIXCertPathCheckerは、チェックを行うために必要な初期化パラメータでインスタンス化されなければいけません。
高度なアプリケーションでは、このメソッドによりPKIX CertPathValidatorやCertPathBuilderを拡張できます。処理された、または検査された証明書のぞれぞれに対し、指定したPKIXCertPathCheckerが、PKIX CertPathValidatorやCertPathBuilderによってそれぞれ順番に呼び出されます。
これらの追加PKIXCertPathCheckerが設定されているかどうかにかかわらず、PKIX CertPathValidatorやCertPathBuilderでは要求された各証明書のPKIXチェックをすべて実行する必要があります。このルールの例外の1つに、RevocationEnabledフラグがfalseに設定された場合があります(setRevocationEnabledメソッド参照)。
以後の変更から保護するために、ここで提供されるListとリスト内の各PKIXCertPathCheckerは複製されています。
checkers - PKIXCertPathCheckerのList。nullの場合、追加のチェッカは使用されない。ClassCastException - リストの要素のいずれかが次の型ではない場合: java.security.cert.PKIXCertPathCheckergetCertPathCheckers()public List<PKIXCertPathChecker> getCertPathCheckers()
Listを返します。返されたListは不変であり、List内の各PKIXCertPathCheckerは以後の変更から保護するために複製されています。PKIXCertPathCheckerの不変なList (空は可、nullは不可)setCertPathCheckers(java.util.List<java.security.cert.PKIXCertPathChecker>)public void addCertPathChecker(PKIXCertPathChecker checker)
PKIXCertPathCheckerを証明書パス・チェッカのリストに追加します。詳細は、setCertPathCheckersメソッドを参照してください。
以後の変更から保護するために、PKIXCertPathCheckerは複製されています。
checker - チェックのリストに追加されるPKIXCertPathChecker。nullの場合、チェッカは無視される(リストに追加されない)。public String getSigProvider()
nullを返します。nullsetSigProvider(java.lang.String)public void setSigProvider(String sigProvider)
Signatureオブジェクトを作成するときには、指定したプロバイダが推奨されます。null、または設定されていない場合は、アルゴリズムをサポートする、最初に見つかったプロバイダが使用されます。sigProvider - 署名プロバイダの名前、またはnullgetSigProvider()public CertSelector getTargetCertConstraints()
CertSelectorのインスタンスとして返されます。nullの場合は、制約が定義されていません。
以後の変更から保護するために、返されるCertSelectorは複製されています。
CertSelector、またはnullsetTargetCertConstraints(java.security.cert.CertSelector)public void setTargetCertConstraints(CertSelector selector)
CertSelectorのインスタンスとして指定されます。nullの場合は、制約が定義されていません。
以後の変更から保護するために、指定されたCertSelectorは複製されています。
selector - ターゲット証明書の制約を指定するCertSelector、またはnullgetTargetCertConstraints()public Object clone()
PKIXParametersオブジェクトの複製を作成します。コピーに変更を加えても元の属性には影響ありません。また逆の場合も同じです。clone、インタフェース: CertPathParametersclone、クラス: ObjectPKIXParametersオブジェクトのコピーCloneable バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.