JavaTM 2 Platform
Standard Ed. 5.0

java.security.cert
クラス CertPathBuilder

java.lang.Object
  上位を拡張 java.security.cert.CertPathBuilder

public class CertPathBuilder
extends Object

証明書パス (証明書チェインとも呼ばれる) を構築するためのクラスです。

このクラスでは、「Java 暗号化アーキテクチャ」で説明されているような、プロバイダベースのアーキテクチャを使用します。CertPathBuilder を作成するには、static getInstance メソッドのうちの 1 つを呼び出して、作成する CertPathBuilder のアルゴリズム名とプロバイダ名 (省略可能) を渡します。

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

並行アクセス

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

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

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

コンストラクタの概要
protected CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm)
          指定されたアルゴリズムの CertPathBuilder オブジェクトを作成し、指定されたプロバイダの実装 (SPI オブジェクト) をそこにカプセル化します。
 
メソッドの概要
 CertPathBuilderResult build(CertPathParameters params)
          指定したアルゴリズムのパラメータセットを使用して、証明書パスを構築しようとします。
 String getAlgorithm()
          この CertPathBuilder のアルゴリズム名を返します。
static String getDefaultType()
          Java セキュリティプロパティファイルに指定されているデフォルトの CertPathBuilder タイプを返します。
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 のプロバイダを返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

CertPathBuilder

protected CertPathBuilder(CertPathBuilderSpi builderSpi,
                          Provider provider,
                          String algorithm)
指定されたアルゴリズムの CertPathBuilder オブジェクトを作成し、指定されたプロバイダの実装 (SPI オブジェクト) をそこにカプセル化します。

パラメータ:
builderSpi - プロバイダの実装
provider - プロバイダ
algorithm - アルゴリズム名
メソッドの詳細

getInstance

public static CertPathBuilder getInstance(String algorithm)
                                   throws NoSuchAlgorithmException
指定したアルゴリズムを実装する CertPathBuilder オブジェクトを返します。

指定した CertPathBuilder アルゴリズムの実装をデフォルトのプロバイダパッケージが提供している場合は、その実装を含む CertPathBuilder のインスタンスが返されます。デフォルトパッケージで目的のアルゴリズムが提供されていない場合には、他のパッケージが検索されます。

パラメータ:
algorithm - 要求した CertPathBuilder アルゴリズムの名前
戻り値:
指定したアルゴリズムを実装する CertPathBuilder オブジェクト
例外:
NoSuchAlgorithmException - 要求されるアルゴリズムが、デフォルトのプロバイダパッケージにも、検索したほかのプロバイダパッケージにもない場合

getInstance

public static CertPathBuilder getInstance(String algorithm,
                                          String provider)
                                   throws NoSuchAlgorithmException,
                                          NoSuchProviderException
指定したプロバイダが提供する、指定したアルゴリズムを実装する CertPathBuilder オブジェクトを返します。

パラメータ:
algorithm - 要求した CertPathBuilder アルゴリズムの名前
provider - プロバイダ名
戻り値:
指定したプロバイダが提供する、指定したアルゴリズムを実装する CertPathBuilder オブジェクト
例外:
NoSuchAlgorithmException - 指定されたプロバイダに要求したアルゴリズムがない場合
NoSuchProviderException - プロバイダが設定されていない場合
IllegalArgumentException - provider が null の場合

getInstance

public static CertPathBuilder getInstance(String algorithm,
                                          Provider provider)
                                   throws NoSuchAlgorithmException
指定したプロバイダが提供する、指定したアルゴリズムを実装する CertPathBuilder オブジェクトを返します。注: provider は登録されている必要はありません。

パラメータ:
algorithm - 要求した CertPathBuilder アルゴリズムの名前
provider - プロバイダ
戻り値:
指定したプロバイダが提供する、指定したアルゴリズムを実装する CertPathBuilder オブジェクト
例外:
NoSuchAlgorithmException - 指定されたプロバイダに要求したアルゴリズムがない場合
IllegalArgumentException - provider が null の場合

getProvider

public final Provider getProvider()
この CertPathBuilder のプロバイダを返します。

戻り値:
この CertPathBuilder のプロバイダ

getAlgorithm

public final String getAlgorithm()
この CertPathBuilder のアルゴリズム名を返します。

戻り値:
この CertPathBuilder のアルゴリズム名

build

public final CertPathBuilderResult build(CertPathParameters params)
                                  throws CertPathBuilderException,
                                         InvalidAlgorithmParameterException
指定したアルゴリズムのパラメータセットを使用して、証明書パスを構築しようとします。

パラメータ:
params - アルゴリズムパラメータ
戻り値:
構築アルゴリズムの結果
例外:
CertPathBuilderException - 指定したパラメータを満たす証明書パスを構築できなかった場合
InvalidAlgorithmParameterException - 指定されたパラメータがこの CertPathBuilder に対して不適切な場合

getDefaultType

public static final String getDefaultType()
Java セキュリティプロパティファイルに指定されているデフォルトの CertPathBuilder タイプを返します。デフォルトの CertPathBuilder タイプを示すプロパティがない場合は、文字列「PKIX」を返します。Java セキュリティプロパティファイルは、<JAVA_HOME>/lib/security/java.security というファイルにあります。<JAVA_HOME> は、JDK がインストールされているディレクトリです。

デフォルトの CertPathBuilder タイプを使用するのは、アプリケーションで getInstance メソッドを呼び出すときにハードコードされたタイプを使用しない場合、およびユーザが独自のタイプを指定しないときにデフォルトのタイプを提供する場合です。

デフォルトの CertPathBuilder タイプを変更するには、Java セキュリティプロパティファイルの certpathbuilder.type セキュリティプロパティの値を目的のタイプに設定します。

戻り値:
Java セキュリティプロパティファイルで指定されたデフォルトの CertPathBuilder タイプ。プロパティが存在しない場合は、文字列「PKIX」

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。