JavaTM Platform
Standard Ed. 6

java.security.cert
クラス PKIXCertPathChecker

java.lang.Object
  上位を拡張 java.security.cert.PKIXCertPathChecker
すべての実装されたインタフェース:
Cloneable

public abstract class PKIXCertPathChecker
extends Object
implements Cloneable

X509Certificate のチェックを 1 回以上行う abstract クラスです。  

PKIXCertPathChecker クラスの具象実装は、PKIX 証明書パス検査アルゴリズムを拡張するために作成されます。たとえば、証明書パスの各証明書に専用のクリティカルな拡張機能をチェックし処理することができます。  

PKIXCertPathChecker のインスタンスは、PKIXParameters および PKIXBuilderParameters クラスの setCertPathCheckers メソッドや addCertPathChecker メソッドを使用し、パラメータとして渡されます。PKIXCertPathCheckercheck メソッドは、PKIX CertPathValidator または CertPathBuilder 実装で処理される各証明書に対して順番に呼び出されます。  

PKIXCertPathChecker は、証明書パスの連続する証明書に対して、複数回呼び出されます。具象サブクラスでは、連続する証明書をチェックする必要があるという内部状態を維持するように求められます。新しい証明書パスがチェックされるために、init メソッドがチェック側の内部状態を初期化するために使用されます。PKIX CertPathBuilder によって効率的にバックトラックし、別のパスで試みることができるように、必要に応じて意味のある実装で clone メソッドをオーバーライドしなければいけません。そのような場合、CertPathBuilder で複製された PKIXCertPathChecker を戻すことで、これまでのパス検査状態に戻すことができます。  

証明書が PKIXCertPathChecker に渡される順番は、順方向 (ターゲットからもっとも信頼できる CA へ) か逆方向 (もっとも信頼できる CA からターゲットへ) のどちらでも可能です。PKIXCertPathChecker の実装では、逆方向のチェック (証明書が逆方向に渡されるときにチェック可能) をサポートしなければならず、順方向のチェック (順方向に証明書が渡されるときにチェック可能) はサポートすることがあります。isForwardCheckingSupported メソッドでは、順方向のチェックがサポートされているかどうかを示します。

チェックを行うために必要な追加の入力パラメータが、このクラスの具象実装のコンストラクタを通じて指定されることがあります。

並行アクセス

特に断らないかぎり、このクラスで定義されているメソッドはスレッドセーフではありません。単一のオブジェクトに並行アクセスする必要のある複数スレッドは、スレッド間で同期をとり、必要に応じてロックする必要があります。複数のスレッドがそれぞれ個別のオブジェクトを処理する場合、それらのスレッドは同期する必要はありません。

導入されたバージョン:
1.4
関連項目:
PKIXParameters, PKIXBuilderParameters

コンストラクタの概要
protected PKIXCertPathChecker()
          デフォルトのコンストラクタです。
 
メソッドの概要
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()
          順方向のチェックがサポートされているかどうかを示します。
 
クラス java.lang.Object から継承されたメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PKIXCertPathChecker

protected PKIXCertPathChecker()
デフォルトのコンストラクタです。

メソッドの詳細

init

public abstract void init(boolean forward)
                   throws CertPathValidatorException
この PKIXCertPathChecker の内部状態を初期化します。  

forward フラグでは、証明書が check メソッドに渡される順序 (順方向か逆方向) を指定します。PKIXCertPathChecker では、逆方向のチェックをサポートしなければならず、順方向のチェックはサポートすることがあります。

パラメータ:
forward - 証明書が check メソッドに渡される順序。true の場合はターゲットからもっとも信頼できる CA の順 (順方向) に証明書が渡され、false の場合はもっとも信頼できる CA からターゲットの順 (逆方向) に渡される
例外:
CertPathValidatorException - 指定された順序でこの PKIXCertPathChecker が証明書をチェックできない場合。逆方向のチェックは必ずサポートされているので、forward フラグが false の場合はスローされない

isForwardCheckingSupported

public abstract boolean isForwardCheckingSupported()
順方向のチェックがサポートされているかどうかを示します。順方向のチェックとは、証明書が check メソッドへ順方向 (ターゲットからもっとも信頼できる CA へ) に渡されるときにチェックが可能な PKIXCertPathChecker の機能のことです。

戻り値:
順方向のチェックがサポートされている場合は true、そうでない場合は false

getSupportedExtensions

public abstract Set<String> getSupportedExtensions()
この PKIXCertPathChecker がサポート (つまり、「認識する」「処理できる」) X.509 証明書機能拡張の不変な Set を返します。

セットの各要素は、サポートされる X.509 機能拡張のオブジェクト識別子 (OID) を表す String です。OID は、ピリオドで区切られた 0 以上の整数の組で表されます。

PKIXCertPathChecker が処理できるすべての X.509 機能拡張は、セットに含まれていなければいけません。

戻り値:
この PKIXCertPathChecker でサポートされる X.509 機能拡張 OID (String 形式) から成る不変の Set。サポートされる機能拡張がない場合は、null

check

public abstract void check(Certificate cert,
                           Collection<String> unresolvedCritExts)
                    throws CertPathValidatorException
指定した証明書をその内部状態でチェックし、証明書が処理する機能拡張でクリティカルなものがあれば、解釈処理できない機能拡張を表す OID 文字列の指定したコレクションから、その機能拡張を削除します。証明書は、init メソッドで指定された順序で示されます。

パラメータ:
cert - チェック対象の Certificate
unresolvedCritExts - 解釈処理できないクリティカルな機能拡張の現在のセットを表す OID 文字列の Collection
例外:
CertPathValidatorException - 指定した証明書がチェックを通らない場合

clone

public Object clone()
このオブジェクトの複製を返します。Object.clone() を呼び出します。状態を維持するすべてのサブクラスではこのメソッドをサポートしなければならず、必要に応じてオーバーライドします。

オーバーライド:
クラス Object 内の clone
戻り値:
この PKIXCertPathChecker の複製
関連項目:
Cloneable

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。