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が存在しない場合。Providerpublic 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または空の場合。Providerpublic 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の場合。Providerpublic final Provider getProvider()
CertPathValidatorのProviderを返します。CertPathValidatorのProviderpublic final String getAlgorithm()
CertPathValidatorのアルゴリズム名を返します。CertPathValidatorのアルゴリズム名public final CertPathValidatorResult validate(CertPath certPath, CertPathParameters params) throws CertPathValidatorException, InvalidAlgorithmParameterException
指定したCertPathは、検査アルゴリズムでサポートされているタイプである必要があります。そうでない場合は、InvalidAlgorithmParameterExceptionがスローされます。 たとえば、PKIXアルゴリズムを実装するCertPathValidatorでは、タイプX.509のCertPathオブジェクトを検査します。
certPath - 検査するCertPathparams - アルゴリズム・パラメータ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の新しいインスタンスが返されます。
このメソッドの主な目的は、呼出し側が失効チェックに固有の追加の入力パラメータおよびオプションを指定できるようにすることです。 具体例については、クラスの説明を参照してください。
CertPathCheckerUnsupportedOperationException - サービス・プロバイダがこのメソッドをサポートしない場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。