|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.security.cert
类 CertPathBuilder
java.lang.Object java.security.cert.CertPathBuilder
-
public class CertPathBuilder
- extends Object
构建证书路径(也称为证书链)的类。
此类使用 Java 加密体系结构 中所描述的、基于提供程序的架构。要创建一个 CertPathBuilder
,应调用某个静态 getInstance
方法、传入所需的 CertPathBuilder
算法名称,或者所需的提供程序名称。
一旦创建了 CertPathBuilder
对象,则可以通过调用 build
方法并传递一个特定于算法的参数集来构造证书路径。如果成功,则在一个实现了 CertPathBuilderResult
接口的对象中返回结果(包括已构建的 CertPath
)。
并发访问
可保证此类的静态方法是线程安全的。多个线程可以并发调用此类中所定义的静态方法,而不会产生什么坏的影响。
但是,对于此类所定义的非静态方法并非如此。除非具体的提供程序另行指定,否则需要并发访问单个 CertPathBuilder
实例的多个线程应该在它们之间实现同步并提供所需的锁定。对于每个线程都操作一个不同 CertPathBuilder
实例的多个线程而言,无需实现同步。
- 从以下版本开始:
- 1.4
- 另请参见:
-
CertPath
构造方法摘要 | |
---|---|
protected |
CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm) 创建一个给定算法的 CertPathBuilder 对象,并在其中封装给定的提供程序实现(SPI 对象)。 |
方法摘要 | |
---|---|
CertPathBuilderResult |
build(CertPathParameters params) 尝试使用指定的算法参数集构建一个证书路径。 |
String |
getAlgorithm() 返回此 CertPathBuilder 的算法名称。 |
static String |
getDefaultType() 返回 Java 安全属性文件中所指定的默认 CertPathBuilder 类型,如果没有此属性,则返回字符串 "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 的提供程序。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
CertPathBuilder
protected CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm)
-
创建一个给定算法的
CertPathBuilder
对象,并在其中封装给定的提供程序实现(SPI 对象)。- 参数:
-
builderSpi
- 提供程序实现 -
provider
- 提供程序 -
algorithm
- 算法名称
方法详细信息 |
---|
getInstance
public static CertPathBuilder getInstance(String algorithm) throws NoSuchAlgorithmException
-
返回实现了指定算法的
CertPathBuilder
对象。如果默认提供程序包提供了指定
CertPathBuilder
算法的实现,则返回包含该实现的CertPathBuilder
实例。如果默认包中不存在所请求的算法,则搜索其他包。 -
- 参数:
-
algorithm
- 所请求的CertPathBuilder
算法名称 - 返回:
-
实现了指定算法的
CertPathBuilder
对象 - 抛出:
-
NoSuchAlgorithmException
- 如果所请求的算法在默认提供程序包,或者搜索的所有其他提供程序包中都不可用
getInstance
public static CertPathBuilder getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
-
返回实现了指定算法(由指定的提供程序提供)的
CertPathBuilder
对象。 -
- 参数:
-
algorithm
- 所请求的CertPathBuilder
算法名称 -
provider
- 提供程序的名称 - 返回:
-
实现了指定算法(由指定的提供程序提供)的
CertPathBuilder
对象 - 抛出:
-
NoSuchAlgorithmException
- 如果指定的提供程序未提供所请求的算法 -
NoSuchProviderException
- 如果尚未配置提供程序 -
IllegalArgumentException
- 如果provider
为 null
getInstance
public static CertPathBuilder getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
-
返回实现了指定算法(由指定的提供程序提供)的
CertPathBuilder
对象。注:该provider
不必被注册。 -
- 参数:
-
algorithm
- 所请求的CertPathBuilder
算法名称 -
provider
- 提供程序 - 返回:
-
实现了指定算法(由指定的提供程序提供)的
CertPathBuilder
对象 - 抛出:
-
NoSuchAlgorithmException
- 如果指定的提供程序未提供所请求的算法 -
IllegalArgumentException
- 如果provider
为 null。
getProvider
public final Provider getProvider()
-
返回此
CertPathBuilder
的提供程序。 -
- 返回:
-
此
CertPathBuilder
的提供程序
getAlgorithm
public final String getAlgorithm()
-
返回此
CertPathBuilder
的算法名称。 -
- 返回:
-
此
CertPathBuilder
的算法名称
build
public final CertPathBuilderResult build(CertPathParameters params) throws CertPathBuilderException, InvalidAlgorithmParameterException
- 尝试使用指定的算法参数集构建一个证书路径。
-
- 参数:
-
params
- 算法参数 - 返回:
- 构建算法的结果
- 抛出:
-
CertPathBuilderException
- 如果该生成器无法构造一个满足指定参数要求的证书路径 -
InvalidAlgorithmParameterException
- 如果指定的参数不适合此CertPathBuilder
getDefaultType
public static final String getDefaultType()
-
返回 Java 安全属性文件中所指定的默认
CertPathBuilder
类型,如果没有此属性,则返回字符串 "PKIX"。Java 安全属性文件位于指定的 <JAVA_HOME>/lib/security/java.security 文件中,其中 <JAVA_HOME> 是指安装 JDK 的目录。对于调用某个
getInstance
方法时不希望使用硬编码 CertPathBuilder 类型,以及在用户未指定所用 CertPathBuilder 类型的情况下希望提供默认类型的应用程序而言,可以使用默认的CertPathBuilder
类型。通过将 "certpathbuilder.type" 安全属性(在 Java 安全属性文件中)的值设置为所需的类型即可更改默认的
CertPathBuilder
类型。 -
- 返回:
-
Java 安全属性文件中所指定的默认
CertPathBuilder
类型,如果没有此属性,则返回字符串 "PKIX"。