クラスPKIXCertPathChecker
- すべての実装されたインタフェース:
Cloneable,CertPathChecker
- 直系の既知のサブクラス:
PKIXRevocationChecker
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メソッドでは、 方向のチェックがサポートされているかどうかを示します。
チェックを行うために必要な追 の入力パラメータが、このクラスの具象実装のコンストラクタを通じて指定されることがあります。
並行アクセス
特に断らないかぎり、このクラスで定義されているメソッドはスレッドセーフではありません。 単一のオブジェクトに並行アクセスする必要のある複数スレッドは、スレッド間で同期をとり、必要に応じてロックする必要があります。 複数のスレッドがそれぞれ個別のオブジェクトを処理する 合、それらのスレッドは同期する必要はありません。
- 導入されたバージョン:
- 1.4
- 関連 目:
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明voidcheck(Certificate cert) 内部状態を使用して、指定された証明書にチェックを実行します。abstract voidcheck(Certificate cert, Collection<String> unresolvedCritExts) 指定した証明書をその内部状態でチェックし、証明書が処理する機能拡張でクリティカルなものがあれば、解釈処理できない機能拡張を表すOID文字列の指定したコレクションから、その機能拡張を削除します。clone()このオブジェクトの複製を返します。このPKIXCertPathCheckerがサポートする(つまり、「認識する」「処理できる」) X.509証明書機能拡張の不変なSetを返します。拡張がサポートされない 合はnullを返します。abstract voidinit(boolean forward) このPKIXCertPathCheckerの内部状態を初期化します。abstract boolean方向のチェックがサポートされているかどうかを示します。
-
コンストラクタの詳細
-
PKIXCertPathChecker
protected PKIXCertPathChecker()デフォルトのコンストラクタです。
-
-
メソッドの詳細
-
init
public abstract void init(boolean forward) throws CertPathValidatorException このPKIXCertPathCheckerの内部状態を初期化します。forwardフラグでは、証明書がcheckメソッドに渡される 序( 方向か逆方向)を指定します。PKIXCertPathCheckerでは、逆方向のチェックをサポートしなければならず、 方向のチェックはサポートすることがあります。- 定義:
init、インタフェースCertPathChecker- パラメータ:
forward- 証明書がcheckメソッドに渡される 序。trueの 合はターゲットからもっとも信 できるCAの ( 方向)に証明書が渡され、falseの 合はもっとも信 できるCAからターゲットの (逆方向)に渡される。- スロー:
CertPathValidatorException- 指定された 序でこのPKIXCertPathCheckerが証明書をチェックできない 合。逆方向のチェックは必ずサポートされているので、forwardフラグがfalseの 合はスローされない
-
isForwardCheckingSupported
public abstract boolean isForwardCheckingSupported()方向のチェックがサポートされているかどうかを示します。 方向のチェックとは、証明書がcheckメソッドへ 方向(ターゲットからもっとも信 できるCAへ)に渡されるときにチェックが可能なPKIXCertPathCheckerの機能のことです。- 定義:
isForwardCheckingSupported、インタフェースCertPathChecker- 戻り値:
- 方向のチェックがサポートされている 合は
true、そうでない 合はfalse
-
getSupportedExtensions
このPKIXCertPathCheckerがサポートする(つまり、「認識する」「処理できる」) X.509証明書機能拡張の不変なSetを返します。拡張がサポートされない 合はnullを返します。セットの各要 は、サポートされる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- チェック対象のCertificateunresolvedCritExts- 解釈処理できないクリティカルな機能拡張の現在のセットを表すOID文字列のCollection- スロー:
CertPathValidatorException- 指定した証明書がチェックを通らない 合
-
check
public void check(Certificate cert) throws CertPathValidatorException 内部状態を使用して、指定された証明書にチェックを実行します。 証明書は、initメソッドで指定された 序で示されます。この実装では
check(cert, java.util.Collections.<String>emptySet())を呼び出します。- 定義:
check、インタフェースCertPathChecker- パラメータ:
cert- チェック対象のCertificate- スロー:
CertPathValidatorException- 指定した証明書がチェックを通らない 合
-
clone
-