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

クラスCertPathBuilder

java.lang.Object
java.security.cert.CertPathBuilder

public class CertPathBuilder extends Object
証明書パス(証明書チェーンとも呼ばれる)を構築するためのクラスです。

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

CertPathBuilderオブジェクトが作成されると、buildメソッドを呼び出してアルゴリズム固有のパラメータ・セットを渡すことで、証明書パスが構築されます。 証明書パスの構築に成功すると、CertPathBuilderResultインタフェースを実装するオブジェクトにその結果(構築したCertPathを含む)が返されます。

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

 CertPathBuilder cpb = CertPathBuilder.getInstance("PKIX");
 PKIXRevocationChecker rc = (PKIXRevocationChecker)cpb.getRevocationChecker();
 rc.setOptions(EnumSet.of(Option.PREFER_CRLS));
 params.addCertPathChecker(rc);
 CertPathBuilderResult cpbr = cpb.build(params);
 

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

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

並行アクセス

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

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

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