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並行アクセス
このクラスのstaticメソッドは、スレッドセーフであることが保証されています。 このクラスで定義されているstaticメソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。
しかしこのことは、このクラスで定義されている非staticメソッドには当てはまりません。 特定のプロバイダで特に説明がないかぎり、単一のCertPathBuilderインスタンスに並行してアクセスする必要のある複数スレッドは、スレッド間で同期を取り、必要に応じてロックしなければいけません。 異なるCertPathBuilderインスタンスを操作する複数スレッドは、同期化される必要はありません。
CertPath| 修飾子 | コンストラクタ | 説明 |
|---|---|---|
protected |
CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm) |
指定されたアルゴリズムの
CertPathBuilderオブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。 |
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
CertPathBuilderResult |
build(CertPathParameters params) |
指定したアルゴリズムのパラメータ・セットを使用して、証明書パスを構築しようとします。
|
String |
getAlgorithm() |
この
CertPathBuilderのアルゴリズム名を返します。 |
static String |
getDefaultType() |
certpathbuilder.typeセキュリティ・プロパティに指定されているデフォルトのCertPathBuilderタイプを返します。該当するプロパティが存在しない場合は、文字列「PKIX」を返します。 |
static CertPathBuilder |
getInstance(String algorithm) |
指定されたアルゴリズムを実装する
CertPathBuilderオブジェクトを返します。 |
static CertPathBuilder |
getInstance(String algorithm, Provider provider) |
指定されたアルゴリズムを実装する
CertPathBuilderオブジェクトを返します。 |
static CertPathBuilder |
getInstance(String algorithm, String provider) |
指定されたアルゴリズムを実装する
CertPathBuilderオブジェクトを返します。 |
Provider |
getProvider() |
この
CertPathBuilderのプロバイダを返します。 |
CertPathChecker |
getRevocationChecker() |
カプセル化された
CertPathBuilderSpi実装が証明書の失効ステータスをチェックするために使用するCertPathCheckerを返します。 |
protected CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm)
CertPathBuilderオブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。builderSpi - プロバイダの実装provider - プロバイダalgorithm - アルゴリズム名public static CertPathBuilder getInstance(String algorithm) throws NoSuchAlgorithmException
CertPathBuilderオブジェクトを返します。
このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定されたアルゴリズムをサポートする最初のProviderのCertPathBuilderSpi実装をカプセル化する新しいCertPathBuilderオブジェクトが返されます。
登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
algorithm - 要求するCertPathBuilderアルゴリズムの名前。 アルゴリズムの標準名については、Java暗号化アーキテクチャ標準アルゴリズム名のドキュメントのCertPathBuilderのセクションを参照。 CertPathBuilderオブジェクト。NoSuchAlgorithmException - 指定されたアルゴリズムのCertPathBuilderSpi実装をサポートするProviderが存在しない場合。Providerpublic static CertPathBuilder getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
CertPathBuilderオブジェクトを返します。
指定されたプロバイダのCertPathBuilderSpi実装をカプセル化する新しいCertPathBuilderオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。
登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
algorithm - 要求するCertPathBuilderアルゴリズムの名前。 アルゴリズムの標準名については、Java暗号化アーキテクチャ標準アルゴリズム名のドキュメントのCertPathBuilderのセクションを参照。 provider - プロバイダ名。CertPathBuilderオブジェクト。NoSuchAlgorithmException - 指定されたプロバイダに指定されたアルゴリズムのCertPathBuilderSpiの実装がない場合。NoSuchProviderException - 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合。IllegalArgumentException - providerがnullまたは空の場合。Providerpublic static CertPathBuilder getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
CertPathBuilderオブジェクトを返します。
指定されたProviderオブジェクトのCertPathBuilderSpi実装をカプセル化する新しいCertPathBuilderオブジェクトが返されます。 指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。
algorithm - 要求するCertPathBuilderアルゴリズムの名前。 アルゴリズムの標準名については、Java暗号化アーキテクチャ標準アルゴリズム名のドキュメントのCertPathBuilderのセクションを参照。 provider - プロバイダ。CertPathBuilderオブジェクト。NoSuchAlgorithmException - 指定されたProviderオブジェクトに指定されたアルゴリズムのCertPathBuilderSpiの実装がない場合。IllegalArgumentException - providerがnullの場合。Providerpublic final Provider getProvider()
CertPathBuilderのプロバイダを返します。CertPathBuilderのプロバイダpublic final String getAlgorithm()
CertPathBuilderのアルゴリズム名を返します。CertPathBuilderのアルゴリズム名public final CertPathBuilderResult build(CertPathParameters params) throws CertPathBuilderException, InvalidAlgorithmParameterException
params - アルゴリズム・パラメータCertPathBuilderException - 指定されたパラメータを満たす証明書パスを構築できなかった場合InvalidAlgorithmParameterException - 指定されたパラメータがCertPathBuilderに対して不適切な場合public static final String getDefaultType()
certpathbuilder.typeセキュリティ・プロパティに指定されているデフォルトのCertPathBuilderタイプを返します。該当するプロパティが存在しない場合は、文字列「PKIX」を返します。
デフォルトのCertPathBuilderタイプを使用するのは、アプリケーションでgetInstanceメソッドを呼び出すときにハードコードされたタイプを使用しない場合、およびユーザーが独自のタイプを指定しないときにデフォルトのタイプを提供する場合です。
デフォルトのCertPathBuilderタイプは、certpathbuilder.typeセキュリティ・プロパティの値を目的のタイプに設定することで変更できます。
certpathbuilder.typeセキュリティ・プロパティに指定されているデフォルトのCertPathBuilderタイプ、該当するプロパティが存在しない場合は文字列「PKIX」。セキュリティ・プロパティpublic final CertPathChecker getRevocationChecker()
CertPathBuilderSpi実装が証明書の失効ステータスをチェックするために使用するCertPathCheckerを返します。 PKIX実装は、PKIXRevocationChecker型のオブジェクトを返します。 このメソッドを呼び出すたびに、CertPathCheckerの新しいインスタンスが返されます。
このメソッドの主な目的は、呼出し側が失効チェックに固有の追加の入力パラメータおよびオプションを指定できるようにすることです。 具体例については、クラスの説明を参照してください。
CertPathCheckerUnsupportedOperationException - サービス・プロバイダがこのメソッドをサポートしない場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。