- java.lang.Object
- 
- java.security.cert.CertPathBuilder
 
- 
 public class CertPathBuilder extends Object 証明書パス(証明書チェーンとも呼ばれる)を構築するためのクラスです。このクラスは、プロバイダ・ベースのアーキテクチャを使用します。 CertPathBuilderを作成するには、staticgetInstanceメソッドのうちの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
- 関連項目:
- CertPath
 
- 
- 
コンストラクタのサマリーコンストラクタ 修飾子 コンストラクタ 説明 protectedCertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm)指定されたアルゴリズムのCertPathBuilderオブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。
 - 
メソッドのサマリーすべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 CertPathBuilderResultbuild(CertPathParameters params)指定したアルゴリズムのパラメータ・セットを使用して、証明書パスを構築しようとします。StringgetAlgorithm()このCertPathBuilderのアルゴリズム名を返します。static StringgetDefaultType()certpathbuilder.typeセキュリティ・プロパティに指定されたデフォルトのCertPathBuilderタイプを返します。該当するプロパティが存在しない場合は文字列「PKIX」を返します。static CertPathBuildergetInstance(String algorithm)指定されたアルゴリズムを実装するCertPathBuilderオブジェクトを返します。static CertPathBuildergetInstance(String algorithm, String provider)指定されたアルゴリズムを実装するCertPathBuilderオブジェクトを返します。static CertPathBuildergetInstance(String algorithm, Provider provider)指定されたアルゴリズムを実装するCertPathBuilderオブジェクトを返します。ProvidergetProvider()このCertPathBuilderのプロバイダを返します。CertPathCheckergetRevocationChecker()カプセル化されたCertPathBuilderSpi実装が証明書の失効ステータスをチェックするために使用するCertPathCheckerを返します。
 
- 
- 
- 
コンストラクタの詳細- 
CertPathBuilderprotected CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm) 指定されたアルゴリズムのCertPathBuilderオブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。- パラメータ:
- builderSpi- プロバイダの実装
- provider- プロバイダ
- algorithm- アルゴリズム名
 
 
- 
 - 
メソッドの詳細- 
getInstancepublic 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である場合
- 関連項目:
- Provider
 
 - 
getInstancepublic 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である場合
- 関連項目:
- Provider
 
 - 
getInstancepublic 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である場合
- 関連項目:
- Provider
 
 - 
getProviderpublic final Provider getProvider() このCertPathBuilderのプロバイダを返します。- 戻り値:
- このCertPathBuilderのプロバイダ
 
 - 
getAlgorithmpublic final String getAlgorithm() このCertPathBuilderのアルゴリズム名を返します。- 戻り値:
- このCertPathBuilderのアルゴリズム名
 
 - 
buildpublic final CertPathBuilderResult build(CertPathParameters params) throws CertPathBuilderException, InvalidAlgorithmParameterException 指定したアルゴリズムのパラメータ・セットを使用して、証明書パスを構築しようとします。- パラメータ:
- params- アルゴリズム・パラメータ
- 戻り値:
- 構築アルゴリズムの結果
- 例外:
- CertPathBuilderException- 指定されたパラメータを満たす証明書パスを構築できなかった場合
- InvalidAlgorithmParameterException- 指定されたパラメータが- CertPathBuilderに対して不適切な場合
 
 - 
getDefaultTypepublic static final String getDefaultType() certpathbuilder.typeセキュリティ・プロパティに指定されたデフォルトのCertPathBuilderタイプを返します。該当するプロパティが存在しない場合は文字列「PKIX」を返します。デフォルトの CertPathBuilderタイプを使用するのは、アプリケーションでgetInstanceメソッドを呼び出すときにハードコードされたタイプを使用しない場合、およびユーザーが独自のタイプを指定しないときにデフォルトのタイプを提供する場合です。デフォルトの CertPathBuilderタイプは、certpathbuilder.typeセキュリティ・プロパティの値を目的のタイプに設定することで変更できます。- 戻り値:
- certpathbuilder.typeセキュリティ・プロパティに指定されているデフォルトの- CertPathBuilderタイプ、該当するプロパティが存在しない場合は文字列「PKIX」。
- 関連項目:
- security properties
 
 - 
getRevocationCheckerpublic final CertPathChecker getRevocationChecker() カプセル化されたCertPathBuilderSpi実装が証明書の失効ステータスをチェックするために使用するCertPathCheckerを返します。 PKIX実装は、PKIXRevocationChecker型のオブジェクトを返します。 このメソッドを呼び出すたびに、CertPathCheckerの新しいインスタンスが返されます。このメソッドの主な目的は、呼出し側が失効チェックに固有の追加の入力パラメータおよびオプションを指定できるようにすることです。 具体例については、クラスの説明を参照してください。 - 戻り値:
- CertPathChecker
- 例外:
- UnsupportedOperationException- サービス・プロバイダがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.8
 
 
- 
 
-