このクラスは、プロバイダ・ベースのアーキテクチャを使用します。 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インスタンスを操作する複数スレッドは、同期化される必要はありません。 
- 導入されたバージョン:
- 1.4
- 関連項目:
- 
コンストラクタのサマリーコンストラクタ修飾子コンストラクタ説明protectedCertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm) 指定されたアルゴリズムのCertPathValidatorオブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。
- 
メソッドのサマリー修飾子と型メソッド説明final StringこのCertPathValidatorのアルゴリズム名を返します。static final Stringcertpathvalidator.typeセキュリティ・プロパティに指定されたデフォルトのCertPathValidatorタイプを返します。該当するプロパティが存在しない場合は文字列「PKIX」を返します。static CertPathValidatorgetInstance(String algorithm) 指定されたアルゴリズムを実装するCertPathValidatorオブジェクトを返します。static CertPathValidatorgetInstance(String algorithm, String provider) 指定されたアルゴリズムを実装するCertPathValidatorオブジェクトを返します。static CertPathValidatorgetInstance(String algorithm, Provider provider) 指定されたアルゴリズムを実装するCertPathValidatorオブジェクトを返します。final ProviderこのCertPathValidatorのProviderを返します。final CertPathCheckerカプセル化されたCertPathValidatorSpi実装が証明書の失効ステータスをチェックするために使用するCertPathCheckerを返します。final CertPathValidatorResultvalidate(CertPath certPath, CertPathParameters params) 指定したアルゴリズムのパラメータ・セットを使用して、指定した証明書パスを検査します。
- 
コンストラクタの詳細- 
CertPathValidatorprotected CertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm) 指定されたアルゴリズムのCertPathValidatorオブジェクトを作成し、指定されたプロバイダの実装(SPIオブジェクト)をそこにカプセル化します。- パラメータ:
- validatorSpi- プロバイダの実装
- provider- プロバイダ
- algorithm- アルゴリズム名
 
 
- 
- 
メソッドの詳細- 
getInstancepublic static CertPathValidator getInstance(String algorithm) throws NoSuchAlgorithmException 指定されたアルゴリズムを実装するCertPathValidatorオブジェクトを返します。このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定されたアルゴリズムをサポートする最初のProviderのCertPathValidatorSpi実装をカプセル化する新しいCertPathValidatorオブジェクトが返されます。 登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- 実装上のノート:
- JDKリファレンス実装では、jdk.security.provider.preferredSecurityプロパティを使用して、指定されたアルゴリズムの優先プロバイダの順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。
- パラメータ:
- algorithm- 要求する- CertPathValidatorアルゴリズムの名前。 標準アルゴリズム名については、「Javaセキュリティ標準アルゴリズム名指定」のCertPathValidatorセクションを参照してください。
- 戻り値:
- 指定されたアルゴリズムを実装するCertPathValidatorオブジェクト
- 例外:
- NoSuchAlgorithmException-- Providerが、指定されたアルゴリズムの- CertPathValidatorSpi実装をサポートしていない場合
- NullPointerException-- algorithmが- nullである場合
- 関連項目:
 
- 
getInstancepublic static CertPathValidator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException 指定されたアルゴリズムを実装するCertPathValidatorオブジェクトを返します。指定されたプロバイダのCertPathValidatorSpi実装をカプセル化する新しいCertPathValidatorオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。 登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- パラメータ:
- algorithm- 要求する- CertPathValidatorアルゴリズムの名前。 標準アルゴリズム名については、「Javaセキュリティ標準アルゴリズム名指定」のCertPathValidatorセクションを参照してください。
- provider- プロバイダ名。
- 戻り値:
- 指定されたアルゴリズムを実装するCertPathValidatorオブジェクト
- 例外:
- IllegalArgumentException-- providerが- nullまたは空の場合
- NoSuchAlgorithmException- 指定されたアルゴリズムの- CertPathValidatorSpi実装が、指定されたプロバイダから利用可能でない場合
- NoSuchProviderException- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合
- NullPointerException-- algorithmが- nullである場合
- 関連項目:
 
- 
getInstancepublic static CertPathValidator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException 指定されたアルゴリズムを実装するCertPathValidatorオブジェクトを返します。指定されたProviderオブジェクトのCertPathValidatorSpi実装をカプセル化する新しいCertPathValidatorオブジェクトが返されます。 指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。 - パラメータ:
- algorithm- 要求する- CertPathValidatorアルゴリズムの名前。 標準アルゴリズム名については、「Javaセキュリティ標準アルゴリズム名指定」のCertPathValidatorセクションを参照してください。
- provider- プロバイダ
- 戻り値:
- 指定されたアルゴリズムを実装するCertPathValidatorオブジェクト
- 例外:
- IllegalArgumentException-- providerが- nullの場合
- NoSuchAlgorithmException- 指定されたProviderオブジェクトから指定されたアルゴリズムの- CertPathValidatorSpi実装を使用できない場合
- NullPointerException-- algorithmが- nullである場合
- 関連項目:
 
- 
getProviderpublic final Provider getProvider()このCertPathValidatorのProviderを返します。- 戻り値:
- このCertPathValidatorのProvider
 
- 
getAlgorithmpublic final String getAlgorithm()このCertPathValidatorのアルゴリズム名を返します。- 戻り値:
- このCertPathValidatorのアルゴリズム名
 
- 
validatepublic 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に対して不適切である場合
 
- 
getDefaultTypepublic static final String getDefaultType()certpathvalidator.typeセキュリティ・プロパティに指定されたデフォルトのCertPathValidatorタイプを返します。該当するプロパティが存在しない場合は文字列「PKIX」を返します。デフォルトの CertPathValidatorタイプを使用するのは、アプリケーションでgetInstanceメソッドを呼び出すときにハードコードされたタイプを使用しない場合、およびユーザーが独自のタイプを指定しないときにデフォルトのタイプを提供する場合です。デフォルトの CertPathValidatorタイプは、certpathvalidator.typeセキュリティ・プロパティの値を目的のタイプに設定することで変更できます。- 戻り値:
- certpathvalidator.typeセキュリティ・プロパティに指定されているデフォルトの- CertPathValidatorタイプ、該当するプロパティが存在しない場合は文字列「PKIX」。
- 関連項目:
 
- 
getRevocationCheckerpublic final CertPathChecker getRevocationChecker()カプセル化されたCertPathValidatorSpi実装が証明書の失効ステータスをチェックするために使用するCertPathCheckerを返します。 PKIX実装は、PKIXRevocationChecker型のオブジェクトを返します。 このメソッドを呼び出すたびに、CertPathCheckerの新しいインスタンスが返されます。このメソッドの主な目的は、呼出し側が失効チェックに固有の追加の入力パラメータおよびオプションを指定できるようにすることです。 具体例については、クラスの説明を参照してください。 - 戻り値:
- CertPathChecker
- 例外:
- UnsupportedOperationException- サービス・プロバイダがこのメソッドをサポートしない場合
- 導入されたバージョン:
- 1.8
 
 
-