public class CertPathValidator extends Object
该类使用基于提供程序的架构。创建一个CertPathValidator
,调用一个静态getInstance
方法,通过在所需的CertPathValidator
算法的名称和可选的名称供应商的期望。
一旦CertPathValidator
对象被创建,它可以通过调用validate
方法通过验证的CertPath
和参数的算法具体验证证书路径。如果成功,其结果是实现CertPathValidatorResult
接口返回一个对象。
的getRevocationChecker()
方法允许应用程序指定额外的算法的具体参数和选项使用的CertPathValidator
检查证书的吊销状态时。下面是一个示例演示如何使用标准算法:
certpathvalidator CPV = certpathvalidator getInstance(“标准”);PKIXRevocationChecker RC =(pkixrevocationchecker)getrevocationchecker() CPV;钢筋混凝土。setOptions(EnumSet,(选项。soft_fail));addcertpathchecker(RC)的参数;certpathvalidatorresult受伤= CPV。验证(路径,参数);
java平台的每种实现都要求支持以下标准CertPathValidator
算法:
PKIX
并发访问
这个类的静态方法保证是线程安全的。多线程可以同时调用在这个类中定义的静态方法,没有任何不良影响。
然而,对于这个类定义的非静态方法,这是不正确的。除非另有书面由一个特定的供应商,线程需要访问一个单一的CertPathValidator
实例同时应同步自己提供必要的锁。多个线程中的每个操作不同的CertPathValidator
实例不需要同步。
CertPath
Modifier | Constructor and Description |
---|---|
protected |
CertPathValidator(CertPathValidatorSpi validatorSpi, Provider provider, String algorithm)
创建一个
CertPathValidator 对象给定算法,并封装了提供程序实现(SPI对象)在这。
|
Modifier and Type | Method and Description |
---|---|
String |
getAlgorithm()
返回该
CertPathValidator 算法名称。
|
static String |
getDefaultType()
返回默认
CertPathValidator 型的
certpathvalidator.type 安全属性中指定,或字符串“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()
返回一个
CertPathChecker ,封装
CertPathValidatorSpi 实现使用检查证书的吊销状态。
|
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
对象。
该方法通过注册安全提供商列表,从最开始的首选供应商。一个新的certpathvalidator对象封装certpathvalidatorspi实施支持指定算法的第一供应商返回。
注意,注册商的列表可以通过Security.getProviders()
检索方法。
algorithm
-要求的
CertPathValidator
算法的名称。看到有关标准算法名称信息在
Java Cryptography Architecture Standard Algorithm Name Documentation的certpathvalidator节。
CertPathValidator
对象实现指定的算法。
NoSuchAlgorithmException
-如果没有提供程序支持一个指定的算法certpathvalidatorspi实施。
Provider
public static CertPathValidator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
CertPathValidator
对象实现指定的算法。
一个新的certpathvalidator对象封装certpathvalidatorspi实现从指定的提供程序返回。指定的提供程序必须在安全提供程序列表中注册。
注意,注册商的列表可以通过Security.getProviders()
检索方法。
algorithm
-要求的
CertPathValidator
算法的名称。看到有关标准算法名称信息在
Java Cryptography Architecture Standard Algorithm Name Documentation的certpathvalidator节。
provider
-提供者的名称。
CertPathValidator
对象。
NoSuchAlgorithmException
-如果一个指定的算法certpathvalidatorspi执行不可从指定的供应商。
NoSuchProviderException
-如果指定的供应商不在安全提供商注册名单。
IllegalArgumentException
-如果
provider
是null或空。
Provider
public static CertPathValidator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
CertPathValidator
对象。
一个新的certpathvalidator对象封装certpathvalidatorspi实现从指定的提供程序对象返回。请注意,指定的提供程序对象不必在提供者列表中注册。
algorithm
-要求的
CertPathValidator
算法的名称。看到有关标准算法名称信息在
Java Cryptography Architecture Standard Algorithm Name Documentation的certpathvalidator节。
provider
-供应商。
CertPathValidator
对象。
NoSuchAlgorithmException
-如果一个指定的算法certpathvalidatorspi执行不可从指定的提供程序对象。
IllegalArgumentException
-如果
provider
是空的。
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
。例如,一个CertPathValidator
实现PKIX算法验证X.509 CertPath
对象类型。
certPath
-
CertPath
待验证
params
-算法参数
CertPathValidatorException
-如果
CertPath
不验证
InvalidAlgorithmParameterException
-如果指定的参数或指定的
CertPath
类型这
CertPathValidator
不当
public static final String getDefaultType()
CertPathValidator
型的
certpathvalidator.type
安全属性中指定,或字符串“PKIX”如果没有这种属性的存在。
默认CertPathValidator
型可以用,不想用一个硬编码的类型时,调用的getInstance
方法应用的使用,并希望提供一个默认的类型的情况下,用户不指定自己的。
默认CertPathValidator
型可以通过设置的certpathvalidator.type
安全属性的值为所需类型的改变。
CertPathValidator
型的
certpathvalidator.type
安全属性中指定,或字符串“PKIX”如果没有这种属性的存在。
security properties
public final CertPathChecker getRevocationChecker()
CertPathChecker
,封装
CertPathValidatorSpi
实现使用检查证书的吊销状态。一个实现返回的对象类型
PKIXRevocationChecker
PKIX。每次调用这个方法返回一个新的实例
CertPathChecker
。
该方法的主要目的是允许调用方指定特定的撤销检查的附加输入参数和选项。看到一个示例的类描述。
CertPathChecker
UnsupportedOperationException
如果服务提供商不支持此方法
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.