java.lang.Object java.security.cert.PKIXParameters java.security.cert.PKIXBuilderParameters
public class PKIXBuilderParameters
用作 PKIX CertPathBuilder
算法的输入的参数。
PKIX CertPathBuilder
使用这些参数构建
一个已根据 PKIX 证书路径验证算法验证的 CertPath
。
要实例化 PKIXBuilderParameters
对象,应用程序必须指定一个或多个由 PKIX 证书路径验证算法所定义的最受信任的 CA。可以使用两个构造方法中的一个来指定最受信任的 CA。应用程序可以调用 PKIXBuilderParameters(Set, CertSelector)
来指定一个 TrustAnchor
对象 Set
,其中每个对象都标识一个最受信任的 CA。另外,应用程序也可调用 PKIXBuilderParameters(KeyStore, CertSelector)
来指定一个 KeyStore
实例,其中包含多个受信任的证书项,每个项都认为是一个最受信任的 CA。
另外,应用程序必须指定有关目标证书的限制,CertPathBuilder
将试图为该目标证书构建路径。以 CertSelector
对象的形式指定这些限制。这些限制应该为 CertPathBuilder
提供足够的搜索标准以找到该目标证书。X509Certificate
的最小标准通常包括了主体名称和/或一个或多个主体替换名称。如果未指定足够的标准,则 CertPathBuilder
可能抛出 CertPathBuilderException
。
并发访问
除非另行指定,否则此类中所定义的方法不是线程安全的。需要并发访问单个对象的多个线程应该在它们之间实现同步并提供所需的锁定。对于每个线程都操作一个不同对象的多个线程而言,无需实现同步。
CertPathBuilder
构造方法摘要 | |
---|---|
PKIXBuilderParameters(KeyStore keystore, CertSelector targetConstraints) 创建一个 PKIXBuilderParameters 实例,它根据指定 KeyStore 中所包含的受信任证书项生成最受信任的 CA 集。 |
|
PKIXBuilderParameters(Set<TrustAnchor> trustAnchors, CertSelector targetConstraints) 创建具有指定最受信任 CA Set 的 PKIXBuilderParameters 的实例。 |
方法摘要 | |
---|---|
int |
getMaxPathLength() 返回证书路径中可能存在的中间非自发布证书的最大数目值。 |
void |
setMaxPathLength(int maxPathLength) 设置证书路径中可能存在的非自发中间证书的最大数目值。 |
String |
toString() 返回描述该参数的格式化字符串。 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public PKIXBuilderParameters(Set<TrustAnchor> trustAnchors, CertSelector targetConstraints) throws InvalidAlgorithmParameterException
Set
的
PKIXBuilderParameters
的实例。该 set 中的每个元素都是一个
TrustAnchor
。
注意,为了保护该 Set
以防后续修改,会复制该 Set。
trustAnchors
- 一个
TrustAnchor
Set
targetConstraints
- 指定有关目标证书限制的
CertSelector
InvalidAlgorithmParameterException
- 如果
trustAnchors
为空
(trustAnchors.isEmpty() == true)
NullPointerException
- 如果
trustAnchors
为
null
ClassCastException
- 如果
trustAnchors
的任一元素不是
java.security.cert.TrustAnchor
类型的
public PKIXBuilderParameters(KeyStore keystore, CertSelector targetConstraints) throws KeyStoreException, InvalidAlgorithmParameterException
PKIXBuilderParameters
实例,它根据指定
KeyStore
中所包含的受信任证书项生成最受信任的 CA 集。只考虑那些包含受信任
X509Certificate
的 keystore 项;忽略所有其他证书类型。
keystore
- 一个
KeyStore
,将根据它来生成最受信任的 CA 集
targetConstraints
- 指定有关目标证书限制的
CertSelector
KeyStoreException
- 如果尚未初始化
keystore
InvalidAlgorithmParameterException
- 如果
keystore
不包含受信的证书项
NullPointerException
- 如果
keystore
为
null
方法详细信息 |
---|
public void setMaxPathLength(int maxPathLength)
CertPathBuilder
实例所构建的路径不能超过所指定的长度。
值为 0 意味着该路径只包含单个证书。值为 -1 则意味着该路径长度是不受约束的(即没有最大值)。如果未指定,则默认的最大路径长度是 5。设置小于 -1 的值将导致抛出异常。
如果任意 CA 证书包含 BasicConstraintsExtension
,那么只要结果是一个更短长度的证书路径,则扩展的 pathLenConstraint
字段覆盖最大路径长度参数。
maxPathLength
- 证书路径中可能存在的中间非自发布证书的最大数
InvalidParameterException
- 如果将
maxPathLength
设置为小于 -1 的值
getMaxPathLength()
public int getMaxPathLength()
setMaxPathLength(int)
方法。
setMaxPathLength(int)
public String toString()
PKIXParameters
中的
toString