JavaTM 2
Platform
Std. Ed. v1.4.0

java.security.cert
クラス CertPathValidator

java.lang.Object
  |
  +--java.security.cert.CertPathValidator

public class CertPathValidator
extends Object

証明書パス (証明書チェインとも呼ばれる) の妥当性を検査するためのクラスです。

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

CertPathValidator オブジェクトが作成されると、validate メソッドを呼び出して、検証対象の CertPath とアルゴリズムに特定のパラメータセットを渡すことで、証明書パスが検査されます。証明書パスの検査に成功すると、CertPathValidatorResult インタフェースを実装するオブジェクトにその結果が返されます。

並行アクセス

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

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

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

コンストラクタの概要
protected CertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm)
          指定されたアルゴリズムの CertPathValidator オブジェクトを作成し、指定されたプロバイダの実装 (SPI オブジェクト) をそこにカプセル化します。
 
メソッドの概要
 String getAlgorithm()
          この CertPathValidator のアルゴリズム名を返します。
static String getDefaultType()
          Java セキュリティプロパティファイルに指定されているデフォルトの CertPathValidator タイプを返します。
static CertPathValidator getInstance(String algorithm)
          指定したアルゴリズムを実装する CertPathValidator オブジェクトを返します。
static CertPathValidator getInstance(String algorithm, Provider provider)
          指定したプロバイダが提供する、指定したアルゴリズムを実装する CertPathValidator オブジェクトを返します。
static CertPathValidator getInstance(String algorithm, String provider)
          指定したプロバイダが提供する、指定したアルゴリズムを実装する CertPathValidator オブジェクトを返します。
 Provider getProvider()
          この CertPathValidatorProvider を返します。
 CertPathValidatorResult validate(CertPath certPath, CertPathParameters params)
          指定したアルゴリズムのパラメータセットを使用して、指定した証明書パスを検査します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

CertPathValidator

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

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

getInstance

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

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

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

getInstance

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

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

getInstance

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

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

getProvider

public final Provider getProvider()
この CertPathValidatorProvider を返します。

戻り値:
この CertPathValidatorProvider

getAlgorithm

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

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

validate

public final CertPathValidatorResult validate(CertPath certPath,
                                              CertPathParameters params)
                                       throws CertPathValidatorException,
                                              InvalidAlgorithmParameterException
指定したアルゴリズムのパラメータセットを使用して、指定した証明書パスを検査します。

指定した CertPath は、検査アルゴリズムでサポートされているタイプでなければなりません。そうでない場合は、InvalidAlgorithmParameterException がスローされます。たとえば、PKIX アルゴリズムを実装する CertPathValidator では、タイプ X.509 の CertPath オブジェクトを検査します。

パラメータ:
certPath - 検査する CertPath
params - アルゴリズムのパラメータ
戻り値:
検査アルゴリズムの結果
例外:
CertPathValidatorException - CertPath が有効でない場合
InvalidAlgorithmParameterException - 指定したパラメータか、指定した CertPath のタイプが、この CertPathValidator で不適切である場合

getDefaultType

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

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

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

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

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.