public class CertPathBuilder extends Object
该类使用基于提供程序的架构。创建一个CertPathBuilder
,调用一个静态getInstance
方法,通过在所需的CertPathBuilder
算法的名称和可选的名称供应商的期望。
一旦CertPathBuilder
对象已经创建,认证路径可以通过调用build
方法传递参数的具体设置的构造算法。如果成功的话,结果(包括CertPath
建成)是实现CertPathBuilderResult
接口返回一个对象。
的getRevocationChecker()
方法允许应用程序指定额外的算法的具体参数和选项使用的CertPathBuilder
检查证书的吊销状态时。下面是一个示例演示如何使用标准算法:
certpathbuilder CPB = certpathbuilder getInstance(“标准”);PKIXRevocationChecker RC =(pkixrevocationchecker)getrevocationchecker() CPB;钢筋混凝土。setOptions(EnumSet,(选项。prefer_crls));addcertpathchecker(RC)的参数;certpathbuilderresult CPBR = CPB建立(参数);
java平台的每种实现都要求支持以下标准CertPathBuilder
算法:
PKIX
并发访问
这个类的静态方法保证是线程安全的。多线程可以同时调用在这个类中定义的静态方法,没有任何不良影响。
然而,对于这个类定义的非静态方法,这是不正确的。除非另有书面由一个特定的供应商,线程需要访问一个单一的CertPathBuilder
实例同时应同步自己提供必要的锁。多个线程中的每个操作不同的CertPathBuilder
实例不需要同步。
CertPath
Modifier | Constructor and Description |
---|---|
protected |
CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm)
创建一个
CertPathBuilder 对象给定算法,并封装了提供程序实现(SPI对象)在这。
|
Modifier and Type | Method and Description |
---|---|
CertPathBuilderResult |
build(CertPathParameters params)
尝试使用指定的算法参数集构建一个认证路径。
|
String |
getAlgorithm()
返回该
CertPathBuilder 算法的名字。
|
static String |
getDefaultType()
返回默认
CertPathBuilder 型的
certpathbuilder.type 安全属性中指定,或字符串“PKIX”如果没有这种属性的存在。
|
static CertPathBuilder |
getInstance(String algorithm)
返回一个指定的算法实现
CertPathBuilder 对象。
|
static CertPathBuilder |
getInstance(String algorithm, Provider provider)
返回一个
CertPathBuilder 对象实现指定的算法。
|
static CertPathBuilder |
getInstance(String algorithm, String provider)
返回一个指定的算法实现
CertPathBuilder 对象。
|
Provider |
getProvider()
返回该
CertPathBuilder 提供者。
|
CertPathChecker |
getRevocationChecker()
返回一个
CertPathChecker ,封装
CertPathBuilderSpi 实现使用检查证书的吊销状态。
|
protected CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm)
CertPathBuilder
对象给定算法,并封装了提供程序实现(SPI对象)在这。
builderSpi
-提供程序实现
provider
-供应商
algorithm
的算法名称
public static CertPathBuilder getInstance(String algorithm) throws NoSuchAlgorithmException
CertPathBuilder
对象实现指定的算法。
该方法通过注册安全提供商列表,从最开始的首选供应商。一个新的certpathbuilder对象封装certpathbuilderspi实施支持指定算法的第一供应商返回。
注意,注册商的列表可以通过Security.getProviders()
检索方法。
algorithm
-要求的
CertPathBuilder
算法的名称。看到有关标准算法名称信息在
Java Cryptography Architecture Standard Algorithm Name Documentation的certpathbuilder节。
CertPathBuilder
对象。
NoSuchAlgorithmException
-如果没有提供程序支持一个指定的算法certpathbuilderspi实施。
Provider
public static CertPathBuilder getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
CertPathBuilder
对象。
一个新的certpathbuilder对象封装certpathbuilderspi实现从指定的提供程序返回。指定的提供程序必须在安全提供程序列表中注册。
注意,注册商的列表可以通过Security.getProviders()
检索方法。
algorithm
-要求的
CertPathBuilder
算法的名称。看到有关标准算法名称信息在
Java Cryptography Architecture Standard Algorithm Name Documentation的certpathbuilder节。
provider
-提供者的名称。
CertPathBuilder
对象。
NoSuchAlgorithmException
-如果一个指定的算法certpathbuilderspi执行不可从指定的供应商。
NoSuchProviderException
-如果指定的供应商不在安全提供商注册名单。
IllegalArgumentException
-如果
provider
是null或空。
Provider
public static CertPathBuilder getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
CertPathBuilder
对象。
一个新的certpathbuilder对象封装certpathbuilderspi实现从指定的提供程序对象返回。请注意,指定的提供程序对象不必在提供者列表中注册。
algorithm
-要求的
CertPathBuilder
算法的名称。看到有关标准算法名称信息在
Java Cryptography Architecture Standard Algorithm Name Documentation的certpathbuilder节。
provider
-供应商。
CertPathBuilder
对象。
NoSuchAlgorithmException
-如果一个指定的算法certpathbuilderspi执行不可从指定的提供程序对象。
IllegalArgumentException
-如果
provider
是空的。
Provider
public final Provider getProvider()
CertPathBuilder
提供者。
CertPathBuilder
提供者
public final String getAlgorithm()
CertPathBuilder
算法的名字。
CertPathBuilder
算法的名字
public final CertPathBuilderResult build(CertPathParameters params) throws CertPathBuilderException, InvalidAlgorithmParameterException
params
-算法参数
CertPathBuilderException
如果Builder是无法构建一个满足指定的参数认证路径
InvalidAlgorithmParameterException
-如果指定的参数,这
CertPathBuilder
不当
public static final String getDefaultType()
CertPathBuilder
型的
certpathbuilder.type
安全属性中指定,或字符串“PKIX”如果没有这种属性的存在。
默认CertPathBuilder
型可以用,不想用一个硬编码的类型时,调用的getInstance
方法应用的使用,并希望提供一个默认的类型的情况下,用户不指定自己的。
默认CertPathBuilder
型可以通过设置的certpathbuilder.type
安全属性的值为所需类型的改变。
CertPathBuilder
型的
certpathbuilder.type
安全属性中指定,或字符串“PKIX”如果没有这种属性的存在。
security properties
public final CertPathChecker getRevocationChecker()
CertPathChecker
,封装
CertPathBuilderSpi
实现使用检查证书的吊销状态。一个实现返回的对象类型
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.