public class CertPathValidator extends Object
このクラスは、プロバイダ・ベースのアーキテクチャを使用します。CertPathValidator
を作成するには、static getInstance
メソッドのうちの1つを呼び出して、作成するCertPathValidator
のアルゴリズム名とプロバイダ名(オプション)を渡します。
CertPathValidator
オブジェクトが作成されると、validate
メソッドを呼び出して、検証対象のCertPath
とアルゴリズム固有のパラメータ・セットを渡すことで、証明書パスが検査されます。証明書パスの検査に成功すると、CertPathValidatorResult
インタフェースを実装するオブジェクトにその結果が返されます。
アプリケーションはgetRevocationChecker()
メソッドを使用して、CertPathValidator
が証明書の失効ステータスをチェックするときに使用する追加のアルゴリズム固有のパラメータおよびオプションを指定できます。次の例は、PKIXアルゴリズムでの使用方法を示しています。
CertPathValidator cpv = CertPathValidator.getInstance("PKIX"); PKIXRevocationChecker rc = (PKIXRevocationChecker)cpv.getRevocationChecker(); rc.setOptions(EnumSet.of(Option.SOFT_FAIL)); params.addCertPathChecker(rc); CertPathValidatorResult cpvr = cpv.validate(path, params);
Javaプラットフォームの実装は、すべて次の標準のCertPathValidator
アルゴリズムをサポートする必要があります。
PKIX
並行アクセス
このクラスのstaticメソッドは、スレッドセーフであることが保証されています。このクラスで定義されているstaticメソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。
しかしこのことは、このクラスで定義されている非staticメソッドには当てはまりません。特定のプロバイダで特に説明がないかぎり、単一のCertPathValidator
インスタンスに並行してアクセスする必要のある複数スレッドは、スレッド間で同期を取り、必要に応じてロックしなければいけません。異なるCertPathValidator
インスタンスを操作する複数スレッドは、同期化される必要はありません。
CertPath
修飾子 | コンストラクタと説明 |
---|---|
protected |
CertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm)
指定されたアルゴリズムの
CertPathValidator オブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。 |
修飾子と型 | メソッドと説明 |
---|---|
String |
getAlgorithm()
この
CertPathValidator のアルゴリズム名を返します。 |
static String |
getDefaultType()
certpathvalidator.type セキュリティ・プロパティに指定されているデフォルトのCertPathValidator タイプを返します。該当するプロパティが存在しない場合は、文字列「PKIX」を返します。 |
static CertPathValidator |
getInstance(String algorithm)
指定されたアルゴリズムを実装する
CertPathValidator オブジェクトを返します。 |
static CertPathValidator |
getInstance(String algorithm, Provider provider)
指定されたアルゴリズムを実装する
CertPathValidator オブジェクトを返します。 |
static CertPathValidator |
getInstance(String algorithm, String provider)
指定されたアルゴリズムを実装する
CertPathValidator オブジェクトを返します。 |
Provider |
getProvider()
この
CertPathValidator のProvider を返します。 |
CertPathChecker |
getRevocationChecker()
カプセル化された
CertPathValidatorSpi 実装が証明書の失効ステータスをチェックするために使用するCertPathChecker を返します。 |
CertPathValidatorResult |
validate(CertPath certPath, CertPathParameters params)
指定したアルゴリズムのパラメータ・セットを使用して、指定した証明書パスを検査します。
|
protected CertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm)
CertPathValidator
オブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。validatorSpi
- プロバイダの実装provider
- プロバイダalgorithm
- アルゴリズム名public static CertPathValidator getInstance(String algorithm) throws NoSuchAlgorithmException
CertPathValidator
オブジェクトを返します。
このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。指定されたアルゴリズムをサポートする最初のProviderのCertPathValidatorSpi実装をカプセル化する新しいCertPathValidatorオブジェクトが返されます。
登録済みプロバイダのリストは、Security.getProviders()
メソッド経由で取得できます。
algorithm
- 要求するCertPathValidator
アルゴリズムの名前。アルゴリズムの標準名については、Java暗号化アーキテクチャ標準アルゴリズム名のドキュメントのCertPathValidatorのセクションを参照。CertPathValidator
オブジェクト。NoSuchAlgorithmException
- 指定されたアルゴリズムのCertPathValidatorSpi実装をサポートするProviderが存在しない場合。Provider
public static CertPathValidator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
CertPathValidator
オブジェクトを返します。
指定されたプロバイダのCertPathValidatorSpi実装をカプセル化する新しいCertPathValidatorオブジェクトが返されます。指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。
登録済みプロバイダのリストは、Security.getProviders()
メソッド経由で取得できます。
algorithm
- 要求するCertPathValidator
アルゴリズムの名前。アルゴリズムの標準名については、Java暗号化アーキテクチャ標準アルゴリズム名のドキュメントのCertPathValidatorのセクションを参照。provider
- プロバイダ名。CertPathValidator
オブジェクト。NoSuchAlgorithmException
- 指定されたプロバイダに指定されたアルゴリズムのCertPathValidatorSpiの実装がない場合。NoSuchProviderException
- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合。IllegalArgumentException
- provider
がnullまたは空の場合。Provider
public static CertPathValidator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
CertPathValidator
オブジェクトを返します。
指定されたProviderオブジェクトのCertPathValidatorSpi実装をカプセル化する新しいCertPathValidatorオブジェクトが返されます。指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。
algorithm
- 要求するCertPathValidator
アルゴリズムの名前。アルゴリズムの標準名については、Java暗号化アーキテクチャ標準アルゴリズム名のドキュメントのCertPathValidatorのセクションを参照。provider
- プロバイダ。CertPathValidator
オブジェクト。NoSuchAlgorithmException
- 指定されたProviderオブジェクトに指定されたアルゴリズムのCertPathValidatorSpiの実装がない場合。IllegalArgumentException
- provider
がnullの場合。Provider
public final Provider getProvider()
CertPathValidator
のProvider
を返します。CertPathValidator
のProvider
public final String getAlgorithm()
CertPathValidator
のアルゴリズム名を返します。CertPathValidator
のアルゴリズム名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
に対して不適切である場合public static final String getDefaultType()
certpathvalidator.type
セキュリティ・プロパティに指定されているデフォルトのCertPathValidator
タイプを返します。該当するプロパティが存在しない場合は、文字列「PKIX」を返します。
デフォルトのCertPathValidator
タイプを使用するのは、アプリケーションでgetInstance
メソッドを呼び出すときにハードコードされたタイプを使用しない場合、およびユーザーが独自のタイプを指定しないときにデフォルトのタイプを提供する場合です。
デフォルトのCertPathValidator
タイプは、certpathvalidator.type
セキュリティ・プロパティの値を目的のタイプに設定することで変更できます。
certpathvalidator.type
セキュリティ・プロパティに指定されているデフォルトのCertPathValidator
タイプ、該当するプロパティが存在しない場合は文字列「PKIX」。セキュリティ・プロパティ
public final CertPathChecker getRevocationChecker()
CertPathValidatorSpi
実装が証明書の失効ステータスをチェックするために使用するCertPathChecker
を返します。PKIX実装は、PKIXRevocationChecker
型のオブジェクトを返します。このメソッドを呼び出すたびに、CertPathChecker
の新しいインスタンスが返されます。
このメソッドの主な目的は、呼出し側が失効チェックに固有の追加の入力パラメータおよびオプションを指定できるようにすることです。具体例については、クラスの説明を参照してください。
CertPathChecker
UnsupportedOperationException
- サービス・プロバイダがこのメソッドをサポートしない場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.