JavaTM Platform
Standard Ed. 6

java.security.cert
クラス CertPathValidator

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

public class CertPathValidator
extends Object

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

このクラスは、プロバイダベースのアーキテクチャーを使用します。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 オブジェクトを返します。

このメソッドは、最優先の Provider から順に、登録済みのセキュリティー Provider のリストをトラバースします。指定されたアルゴリズムをサポートする最初の Provider の CertPathValidatorSpi 実装をカプセル化する新しい CertPathValidator オブジェクトが返されます。

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

パラメータ:
algorithm - 要求された CertPathValidator アルゴリズムの名前。 標準のアルゴリズム名については、「Java Certification Path API プログラマーズガイド」 の付録 A を参照
戻り値:
指定されたアルゴリズムを実装する CertPathValidator オブジェクト
例外:
NoSuchAlgorithmException - 指定されたアルゴリズムの CertPathValidatorSpi 実装をサポートする Provider が存在しない場合
関連項目:
Provider

getInstance

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

指定されたプロバイダの CertPathValidatorSpi 実装をカプセル化する新しい CertPathValidator オブジェクトが返されます。指定したプロバイダは、セキュリティープロバイダリストに登録する必要があります。

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

パラメータ:
algorithm - 要求された CertPathValidator アルゴリズムの名前。 標準のアルゴリズム名については、「Java Certification Path API プログラマーズガイド」 の付録 A を参照
provider - プロバイダ名
戻り値:
指定されたアルゴリズムを実装する CertPathValidator オブジェクト
例外:
NoSuchAlgorithmException - 指定されたプロバイダに指定されたアルゴリズムの CertPathValidatorSpi 実装がない場合
NoSuchProviderException - 指定されたプロバイダがセキュリティープロバイダリストに登録されていない場合
IllegalArgumentException - provider が null か空の場合
関連項目:
Provider

getInstance

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

指定された Provider オブジェクトの CertPathValidatorSpi 実装をカプセル化する新しい CertPathValidator オブジェクトが返されます。指定された Provider オブジェクトは、プロバイダリストに登録する必要はありません。

パラメータ:
algorithm - 要求された CertPathValidator アルゴリズムの名前。 標準のアルゴリズム名については、「Java Certification Path API プログラマーズガイド」 の付録 A を参照
provider - プロバイダ
戻り値:
指定されたアルゴリズムを実装する CertPathValidator オブジェクト
例外:
NoSuchAlgorithmException - 指定された Provider オブジェクトに指定されたアルゴリズムの CertPathValidatorSpi 実装がない場合
IllegalArgumentException - provider が null の場合
関連項目:
Provider

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 タイプを返します。デフォルトの CertPathBuilder タイプを示すプロパティーがない場合は、文字列「PKIX」を返します。Java セキュリティープロパティーファイルは、<JAVA_HOME>/lib/security/java.security という名前のファイルに格納されています。<JAVA_HOME> は java.home システムプロパティーの値を参照しており、JRE のインストールディレクトリを示します。

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

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

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

JavaTM Platform
Standard Ed. 6

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

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