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
のSet
InvalidAlgorithmParameterException
- 指定された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のセットが生成されるKeyStore
KeyStoreException
- キーストアが初期化されていない場合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
のSet
InvalidAlgorithmParameterException
- 指定されたSet
が空((trustAnchors.isEmpty()== true)
)である場合NullPointerException
- 指定されたSet
がnull
である場合ClassCastException
- セットの要素のいずれかが次の型ではない場合: java.security.cert.TrustAnchor
getTrustAnchors()
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
- セットの要素のいずれかが次の型ではない場合: String
getInitialPolicies()
public void setCertStores(List<CertStore> stores)
CertStore
のリストを設定します。使用されるCertStore
がない場合には、null
になります。リスト中の最初のCertStore
は、後のエントリに優先します。
以後の変更から保護するために、List
は複製されています。
stores
- CertStore
のList
、またはnull
ClassCastException
- リストの要素のいずれかが次の型ではない場合: java.security.cert.CertStore
getCertStores()
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
、そうでない場合はfalse
public boolean isExplicitPolicyRequired()
true
、そうでない場合はfalse
public void setPolicyMappingInhibited(boolean val)
val
- ポリシー・マッピングが抑制されている場合はtrue
、そうでない場合はfalse
public boolean isPolicyMappingInhibited()
public void setAnyPolicyInhibited(boolean val)
isAnyPolicyInhibited()
はfalse
を返す)。val
- 任意のポリシーOIDが抑制される場合はtrue
、そうでない場合はfalse
public boolean isAnyPolicyInhibited()
true
、そうでない場合はfalse
public void setPolicyQualifiersRejected(boolean qualifiersRejected)
PKIXParameters
オブジェクトが作成されると、このフラグはtrueに設定されます。この設定は、ポリシー修飾子を処理するためのもっとも一般的な(かつ簡単な)方法を反映します。より複雑なポリシーを使用するアプリケーションでは、このフラグをfalseに設定する必要があります。
PKIX証明書パス検査アルゴリズムでは、クリティカルにマークされた証明書ポリシー拡張機能のポリシー修飾子が必ず処理され、検査されるように指定します。ポリシー修飾子が処理および検査されないと、その証明書パスは拒否されます。policyQualifiersRejectedフラグがfalseに設定されている場合、PKIX互換のためにこの方法ですべてのポリシー修飾子を検査するかどうかは、アプリケーションによって異なります。
qualifiersRejected
- PolicyQualifiersRejectedフラグの新しい値getPolicyQualifiersRejected()
, PolicyQualifierInfo
public boolean getPolicyQualifiersRejected()
PKIXParameters
オブジェクトが作成されると、このフラグはtrueに設定されます。この設定は、ポリシー修飾子を処理するためのもっとも一般的な(かつ簡単な)方法を反映します。より複雑なポリシーを使用するアプリケーションでは、このフラグをfalseに設定する必要があります。
setPolicyQualifiersRejected(boolean)
public Date getDate()
null
の場合、現在時刻が使われます。
以後の変更から保護するために、返されるDate
は複製されています。
Date
。設定されていない場合はnull
setDate(java.util.Date)
public void setDate(Date date)
null
の場合、現在時刻が使われます。
以後の変更から保護するために、ここで提供されるDate
は複製されています。
date
- Date
。現在時刻の場合はnull
getDate()
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.PKIXCertPathChecker
getCertPathCheckers()
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
を返します。null
setSigProvider(java.lang.String)
public void setSigProvider(String sigProvider)
Signature
オブジェクトを作成するときには、指定したプロバイダが推奨されます。null
、または設定されていない場合は、アルゴリズムをサポートする、最初に見つかったプロバイダが使用されます。sigProvider
- 署名プロバイダの名前、またはnull
getSigProvider()
public CertSelector getTargetCertConstraints()
CertSelector
のインスタンスとして返されます。null
の場合は、制約が定義されていません。
以後の変更から保護するために、返されるCertSelector
は複製されています。
CertSelector
、またはnull
setTargetCertConstraints(java.security.cert.CertSelector)
public void setTargetCertConstraints(CertSelector selector)
CertSelector
のインスタンスとして指定されます。null
の場合は、制約が定義されていません。
以後の変更から保護するために、指定されたCertSelector
は複製されています。
selector
- ターゲット証明書の制約を指定するCertSelector
、またはnull
getTargetCertConstraints()
public Object clone()
PKIXParameters
オブジェクトの複製を作成します。コピーに変更を加えても元の属性には影響ありません。また逆の場合も同じです。clone
、インタフェース: CertPathParameters
clone
、クラス: Object
PKIXParameters
オブジェクトのコピーCloneable
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.