モジュール java.base
パッケージ java.security.cert

クラスCertPathValidator

java.lang.Object
java.security.cert.CertPathValidator

public class CertPathValidator extends Object
証明書パス(証明書チェーンとも呼ばれる)の妥当性を検査するためのクラスです。

このクラスは、プロバイダ・ベースのアーキテクチャを使用します。 CertPathValidatorを作成するには、static getInstanceメソッドのうちの1つを呼び出して、作成するCertPathValidatorのアルゴリズム名とプロバイダ名(オプション)を渡します。

CertPathValidatorオブジェクトが作成されると、validateメソッドを呼び出して、検証対象のCertPathとアルゴリズム固有のパラメータ・セットを渡すことで、証明書パスが検査されます。 証明書パスの検査に成功すると、CertPathValidatorResultインタフェースを実装するオブジェクトにその結果が返されます。

アプリケーションはgetRevocationChecker()メソッドを使用して、CertPathValidatorが証明書の失効ステータスをチェックするときに使用する追加のアルゴリズム固有のパラメータおよびオプションを指定できます。 次の例は、PKIXアルゴリズムでの使用方法を示しています。

 CertPathValidator cpv = CertPathValidator.getInstance("PKIX");
 PKIXRevocationChecker rc = (PKIXRevocationChecker)cpv.getRevocationChecker();
 rc.setOptions(EnumSet.of(Option.SOFT_FAIL));
 params.addCertPathChecker(rc);
 CertPathValidatorResult cpvr = cpv.validate(path, params);
 

Javaプラットフォームの実装は、すべて次の標準のCertPathValidatorアルゴリズムをサポートする必要があります。

  • PKIX
このアルゴリズムは、Javaセキュリティ標準アルゴリズム名仕様の「CertPathValidatorセクション」で説明されています。 サポートされているその他のアルゴリズムについては、実装のリリース・ドキュメントを参照してください。

並行アクセス

このクラスのstaticメソッドは、スレッド・セーフであることが保証されています。 このクラスで定義されているstaticメソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。

しかしこのことは、このクラスで定義されている非staticメソッドには当てはまりません。 特定のプロバイダで特に説明がないかぎり、単一のCertPathValidatorインスタンスに並行してアクセスする必要のある複数スレッドは、スレッド間で同期を取り、必要に応じてロックしなければいけません。 異なるCertPathValidatorインスタンスを操作する複数スレッドは、同期化される必要はありません。

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