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.