クラスCertPathBuilder
このクラスは、プロバイダ・ベースのアーキテクチャを使用します。 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インスタンスを操作する複数スレッドは、同期化される必要はありません。
- 導入されたバージョン:
- 1.4
- 関連 目:
-
コンストラクタのサマリー
コンストラクタ修飾子コンストラクタ説明protectedCertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm) 指定されたアルゴリズ のCertPathBuilderオブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。 -
メソッドのサマリー
修飾子と型メソッド説明final CertPathBuilderResultbuild(CertPathParameters params) 指定したアルゴリズ のパラメータ・セットを使用して、証明書パスを構築しようとします。final StringこのCertPathBuilderのアルゴリズ 名を返します。static final Stringcertpathbuilder.typeセキュリティ・プロパティに指定されたデフォルトのCertPathBuilderタイプを返します。該当するプロパティが存在しない 合は文字列「PKIX」を返します。static CertPathBuildergetInstance(String algorithm) 指定されたアルゴリズ を実装するCertPathBuilderオブジェクトを返します。static CertPathBuildergetInstance(String algorithm, String provider) 指定されたアルゴリズ を実装するCertPathBuilderオブジェクトを返します。static CertPathBuildergetInstance(String algorithm, Provider provider) 指定されたアルゴリズ を実装するCertPathBuilderオブジェクトを返します。final ProviderこのCertPathBuilderのプロバイダを返します。final CertPathCheckerカプセル化されたCertPathBuilderSpi実装が証明書の失効ステータスをチェックするために使用するCertPathCheckerを返します。
-
コンストラクタの詳細
-
CertPathBuilder
protected CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm) 指定されたアルゴリズ のCertPathBuilderオブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。- パラメータ:
builderSpi- プロバイダの実装provider- プロバイダalgorithm- アルゴリズ 名
-
-
メソッドの詳細
-
getInstance
public static CertPathBuilder getInstance(String algorithm) throws NoSuchAlgorithmException 指定されたアルゴリズ を実装するCertPathBuilderオブジェクトを返します。このメソッドは、最優先のProviderから に、登録済みのセキュリティProviderのリストをトラバースします。 指定されたアルゴリズ をサポートする最初のProviderのCertPathBuilderSpi実装をカプセル化する新しいCertPathBuilderオブジェクトが返されます。
登録済みプロバイダのリストは、
Security.getProviders()メソッド経由で取得できます。- 実装上のノート:
- JDKリファレンス実装では、さらに
jdk.security.provider.preferredSecurityプロパティを使用して、指定したアルゴリズ の優先プロバイダ 序を決定します。 これは、Security.getProviders()によって返されるプロバイダの 序とは異なる 合があります。 - パラメータ:
algorithm- 要求するCertPathBuilderアルゴリズ の名前。 標準アルゴリズ 名の詳細は、「Javaセキュリティ標準アルゴリズ 名仕様」のCertPathBuilderの を参照してく さい。- 戻り値:
- 指定されたアルゴリズ を実装する
CertPathBuilderオブジェクト - スロー:
NoSuchAlgorithmException-Providerが、指定されたアルゴリズ のCertPathBuilderSpi実装をサポートしていない 合NullPointerException-algorithmがnullである 合- 関連 目:
-
getInstance
public static CertPathBuilder getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException 指定されたアルゴリズ を実装するCertPathBuilderオブジェクトを返します。指定されたプロバイダのCertPathBuilderSpi実装をカプセル化する新しいCertPathBuilderオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。
登録済みプロバイダのリストは、
Security.getProviders()メソッド経由で取得できます。- パラメータ:
algorithm- 要求するCertPathBuilderアルゴリズ の名前。 標準アルゴリズ 名の詳細は、「Javaセキュリティ標準アルゴリズ 名仕様」のCertPathBuilderの を参照してく さい。provider- プロバイダ名。- 戻り値:
- 指定されたアルゴリズ を実装する
CertPathBuilderオブジェクト - スロー:
IllegalArgumentException-providerがnullまたは空の 合NoSuchAlgorithmException- 指定されたアルゴリズ のCertPathBuilderSpi実装が、指定されたプロバイダから利用可能でない 合NoSuchProviderException- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない 合NullPointerException-algorithmがnullである 合- 関連 目:
-
getInstance
public static CertPathBuilder getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException 指定されたアルゴリズ を実装するCertPathBuilderオブジェクトを返します。指定されたProviderオブジェクトのCertPathBuilderSpi実装をカプセル化する新しいCertPathBuilderオブジェクトが返されます。 指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。
- パラメータ:
algorithm- 要求するCertPathBuilderアルゴリズ の名前。 標準アルゴリズ 名の詳細は、「Javaセキュリティ標準アルゴリズ 名仕様」のCertPathBuilderの を参照してく さい。provider- プロバイダ- 戻り値:
- 指定されたアルゴリズ を実装する
CertPathBuilderオブジェクト - スロー:
IllegalArgumentException-providerがnullの 合NoSuchAlgorithmException- 指定されたアルゴリズ のCertPathBuilderSpi実装が、指定されたProviderオブジェクトから使用できない 合NullPointerException-algorithmがnullである 合- 関連 目:
-
getProvider
-
getAlgorithm
-
build
public final CertPathBuilderResult build(CertPathParameters params) throws CertPathBuilderException, InvalidAlgorithmParameterException 指定したアルゴリズ のパラメータ・セットを使用して、証明書パスを構築しようとします。- パラメータ:
params- アルゴリズ ・パラメータ- 戻り値:
- 構築アルゴリズ の結果
- スロー:
CertPathBuilderException- 指定されたパラメータを満たす証明書パスを構築できなかった 合InvalidAlgorithmParameterException- 指定されたパラメータがCertPathBuilderに対して不適切な 合
-
getDefaultType
public static final String getDefaultType()certpathbuilder.typeセキュリティ・プロパティに指定されたデフォルトのCertPathBuilderタイプを返します。該当するプロパティが存在しない 合は文字列「PKIX」を返します。デフォルトの
CertPathBuilderタイプを使用するのは、アプリケーションでgetInstanceメソッドを呼び出すときにハードコードされたタイプを使用しない 合、およびユーザーが独自のタイプを指定しないときにデフォルトのタイプを提供する 合です。デフォルトの
CertPathBuilderタイプは、certpathbuilder.typeセキュリティ・プロパティの値を目的のタイプに設定することで変更できます。- 戻り値:
certpathbuilder.typeセキュリティ・プロパティに指定されているデフォルトのCertPathBuilderタイプ、該当するプロパティが存在しない 合は文字列「PKIX」。- 関連 目:
-
getRevocationChecker
public final CertPathChecker getRevocationChecker()カプセル化されたCertPathBuilderSpi実装が証明書の失効ステータスをチェックするために使用するCertPathCheckerを返します。 PKIX実装は、PKIXRevocationChecker型のオブジェクトを返します。 このメソッドを呼び出すたびに、CertPathCheckerの新しいインスタンスが返されます。このメソッドの主な目的は、呼出し側が失効チェックに固有の追 の入力パラメータおよびオプションを指定できるようにすることです。 具体例については、クラスの説明を参照してく さい。
- 戻り値:
CertPathChecker- スロー:
UnsupportedOperationException- サービス・プロバイダがこのメソッドをサポートしない 合- 導入されたバージョン:
- 1.8
-