public abstract class PKIXCertPathChecker extends Object implements Cloneable
X509Certificate
のチェックを 1 回以上行う abstract クラスです。
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()
デフォルトのコンストラクタです。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract void |
check(Certificate cert, Collection<String> unresolvedCritExts)
指定した証明書をその内部状態でチェックし、証明書が処理する機能拡張でクリティカルなものがあれば、解釈処理できない機能拡張を表す OID 文字列の指定したコレクションから、その機能拡張を削除します。
|
Object |
clone()
このオブジェクトの複製を返します。
|
abstract Set<String> |
getSupportedExtensions()
この
PKIXCertPathChecker がサポートする (つまり、認識したり、処理できる) X.509 証明書機能拡張の不変な Set を返します。サポートされている機能拡張がない場合は null を返します。 |
abstract void |
init(boolean forward)
この
PKIXCertPathChecker の内部状態を初期化します。 |
abstract boolean |
isForwardCheckingSupported()
順方向のチェックがサポートされているかどうかを示します。
|
public abstract void init(boolean forward) throws CertPathValidatorException
PKIXCertPathChecker
の内部状態を初期化します。
forward
フラグでは、証明書が check
メソッドに渡される順序 (順方向か逆方向) を指定します。PKIXCertPathChecker
では、逆方向のチェックをサポートしなければならず、順方向のチェックはサポートすることがあります。
forward
- 証明書が check
メソッドに渡される順序。true
の場合はターゲットからもっとも信頼できる CA の順 (順方向) に証明書が渡され、false
の場合はもっとも信頼できる CA からターゲットの順 (逆方向) に渡される。CertPathValidatorException
- 指定された順序でこの PKIXCertPathChecker
が証明書をチェックできない場合。逆方向のチェックは必ずサポートされているので、forward フラグが false の場合はスローされないpublic abstract boolean isForwardCheckingSupported()
check
メソッドへ順方向 (ターゲットからもっとも信頼できる CA へ) に渡されるときにチェックが可能な PKIXCertPathChecker
の機能のことです。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
- 指定した証明書がチェックを通らない場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.