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、そうでない場合は falsepublic abstract Set<String> getSupportedExtensions()
PKIXCertPathChecker がサポートする (つまり、「認識する」「処理できる」) X.509 証明書機能拡張の不変な Set を返します。拡張がサポートされない場合は null を返します。
セットの各要素は、サポートされる X.509 機能拡張のオブジェクト識別子 (OID) を表す String です。OID は、ピリオドで区切られた 0 以上の整数の組で表されます。
PKIXCertPathChecker が処理できるすべての X.509 機能拡張は、セットに含まれていなければいけません。
PKIXCertPathChecker でサポートされる X.509 機能拡張 OID (String 形式) から成る不変の Set。サポートされる機能拡張がない場合は、nullpublic abstract void check(Certificate cert, Collection<String> unresolvedCritExts) throws CertPathValidatorException
init メソッドで指定された順序で示されます。cert - チェック対象の CertificateunresolvedCritExts - 解釈処理できないクリティカルな機能拡張の現在のセットを表す OID 文字列の CollectionCertPathValidatorException - 指定した証明書がチェックを通らない場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.