public abstract class PKIXCertPathChecker extends Object implements CertPathChecker, Cloneable
X509Certificate
のチェックを1回以上行う抽象クラスです。
PKIXCertPathChecker
クラスの具象実装は、PKIX証明書パス検査アルゴリズムを拡張するために作成されます。たとえば、証明書パスの各証明書に専用のクリティカルな拡張機能をチェックし処理することができます。
PKIXCertPathChecker
のインスタンスは、PKIXParameters
およびPKIXBuilderParameters
クラスのsetCertPathCheckers
メソッドやaddCertPathChecker
メソッドを使用し、パラメータとして渡されます。各PKIXCertPathChecker
のcheck
メソッドは、PKIX CertPathValidator
またはCertPathBuilder
実装によって処理される証明書ごとに、順次呼び出されます。
PKIXCertPathChecker
は、証明書パスの連続する証明書に対して、複数回呼び出されます。具象サブクラスでは、連続する証明書をチェックする必要があるという内部状態を維持するように求められます。新しい証明書パスがチェックされるために、init
メソッドがチェック側の内部状態を初期化するために使用されます。PKIX CertPathBuilder
によって効率的にバックトラックし、別のパスで試みることができるように、必要に応じて意味のある実装でclone
メソッドをオーバーライドしなければいけません。そのような場合、CertPathBuilder
で複製されたPKIXCertPathChecker
を戻すことで、これまでのパス検査状態に戻すことができます。
証明書がPKIXCertPathChecker
に渡される順番は、順方向(ターゲットからもっとも信頼できるCAへ)か逆方向(もっとも信頼できるCAからターゲットへ)のどちらでも可能です。PKIXCertPathChecker
の実装では、逆方向のチェック(証明書が逆方向に渡されるときにチェック可能)をサポートしなければならず、順方向のチェック(順方向に証明書が渡されるときにチェック可能)はサポートすることがあります。isForwardCheckingSupported
メソッドでは、順方向のチェックがサポートされているかどうかを示します。
チェックを行うために必要な追加の入力パラメータが、このクラスの具象実装のコンストラクタを通じて指定されることがあります。
並行アクセス
特に断らないかぎり、このクラスで定義されているメソッドはスレッドセーフではありません。単一のオブジェクトに並行アクセスする必要のある複数スレッドは、スレッド間で同期をとり、必要に応じてロックする必要があります。複数のスレッドがそれぞれ個別のオブジェクトを処理する場合、それらのスレッドは同期する必要はありません。
PKIXParameters
, PKIXBuilderParameters
修飾子 | コンストラクタと説明 |
---|---|
protected |
PKIXCertPathChecker()
デフォルトのコンストラクタです。
|
修飾子と型 | メソッドと説明 |
---|---|
void |
check(Certificate cert)
内部状態を使用して、指定された証明書にチェックを実行します。
|
abstract void |
check(Certificate cert, Collection<String> unresolvedCritExts)
指定した証明書をその内部状態でチェックし、証明書が処理する機能拡張でクリティカルなものがあれば、解釈処理できない機能拡張を表すOID文字列の指定したコレクションから、その機能拡張を削除します。
|
Object |
clone()
このオブジェクトの複製を返します。
|
abstract Set<String> |
getSupportedExtensions()
この
PKIXCertPathChecker がサポートするX.509証明書機能拡張の不変なSet を返します。 |
abstract void |
init(boolean forward)
この
PKIXCertPathChecker の内部状態を初期化します。 |
abstract boolean |
isForwardCheckingSupported()
順方向のチェックがサポートされているかどうかを示します。
|
public abstract void init(boolean forward) throws CertPathValidatorException
PKIXCertPathChecker
の内部状態を初期化します。
forward
フラグでは、証明書がcheck
メソッドに渡される順序(順方向か逆方向)を指定します。PKIXCertPathChecker
では、逆方向のチェックをサポートしなければならず、順方向のチェックはサポートすることがあります。
init
、インタフェース: CertPathChecker
forward
- 証明書がcheck
メソッドに渡される順序。true
の場合はターゲットからもっとも信頼できるCAの順(順方向)に証明書が渡され、false
の場合はもっとも信頼できるCAからターゲットの順(逆方向)に渡される。CertPathValidatorException
- 指定された順序でこのPKIXCertPathChecker
が証明書をチェックできない場合。逆方向のチェックは必ずサポートされているので、forwardフラグがfalseの場合はスローされないpublic abstract boolean isForwardCheckingSupported()
check
メソッドへ順方向(ターゲットからもっとも信頼できるCAへ)に渡されるときにチェックが可能なPKIXCertPathChecker
の機能のことです。isForwardCheckingSupported
、インタフェース: CertPathChecker
true
、そうでない場合はfalse
public abstract Set<String> getSupportedExtensions()
PKIXCertPathChecker
がサポートする(つまり、「認識する」「処理できる」) X.509証明書機能拡張の不変なSet
を返します。拡張がサポートされない場合はnull
を返します。
セットの各要素は、サポートされるX.509機能拡張のオブジェクト識別子(OID)を表すString
です。OIDは、ピリオドで区切られた0以上の整数の組で表されます。
PKIXCertPathChecker
が処理できるすべてのX.509機能拡張は、セットに含まれていなければいけません。
PKIXCertPathChecker
でサポートされるX.509機能拡張OID (String
形式)から成る不変のSet
。サポートされる機能拡張がない場合は、null
public abstract void check(Certificate cert, Collection<String> unresolvedCritExts) throws CertPathValidatorException
init
メソッドで指定された順序で示されます。cert
- チェック対象のCertificate
unresolvedCritExts
- 解釈処理できないクリティカルな機能拡張の現在のセットを表すOID文字列のCollection
CertPathValidatorException
- 指定した証明書がチェックを通らない場合public void check(Certificate cert) throws CertPathValidatorException
init
メソッドで指定された順序で示されます。
この実装ではcheck(cert, java.util.Collections.<String>emptySet())
を呼び出します。
check
、インタフェース: CertPathChecker
cert
- チェック対象のCertificate
CertPathValidatorException
- 指定した証明書がチェックを通らない場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.