- java.lang.Object
-
- java.security.cert.PKIXParameters
-
- java.security.cert.PKIXBuilderParameters
-
- 实现的所有接口
-
Cloneable
,CertPathParameters
public class PKIXBuilderParameters extends PKIXParameters
用作PKIXCertPathBuilder
算法输入的参数。PKIX
CertPathBuilder
将这些参数用于build
和CertPath
,该参数已根据PKIX认证路径验证算法进行了验证。要实例化
PKIXBuilderParameters
对象,应用程序必须指定PKIX证书路径验证算法定义的一个或多个最受信任的CA. 可以使用两个构造函数之一指定最受信任的CA. 应用程序可以调用PKIXBuilderParameters(Set, CertSelector)
,指定Set
个TrustAnchor
对象,每个对象标识最受信任的CA. 或者,应用程序可以调用PKIXBuilderParameters(KeyStore, CertSelector)
,指定包含受信任证书条目的KeyStore
实例,每个实例都将被视为最受信任的CA.此外,应用程序必须在
CertPathBuilder
将尝试构建路径的目标证书上指定约束。 约束被指定为CertSelector
对象。 这些约束应该为CertPathBuilder
提供足够的搜索条件来查找目标证书。X509Certificate
最低标准通常包括主题名称和/或一个或多个主题替代名称。 如果未指定足够的标准,则CertPathBuilder
可能会抛出CertPathBuilderException
。并发访问
除非另有说明,否则此类中定义的方法不是线程安全的。 需要同时访问单个对象的多个线程应在它们之间进行同步并提供必要的锁定。 每个操作单独对象的多个线程不需要同步。
- 从以下版本开始:
- 1.4
- 另请参见:
-
CertPathBuilder
-
-
构造方法摘要
构造方法 构造器 描述 PKIXBuilderParameters(KeyStore keystore, CertSelector targetConstraints)
创建PKIXBuilderParameters
的实例,该实例从指定的KeyStore
包含的受信任证书条目填充最受信任的CAKeyStore
。PKIXBuilderParameters(Set<TrustAnchor> trustAnchors, CertSelector targetConstraints)
使用指定的Set
最受信任的CA创建PKIXBuilderParameters
的实例。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 int
getMaxPathLength()
返回证书路径中可能存在的最大中间非自发证书数的值。void
setMaxPathLength(int maxPathLength)
设置证书路径中可能存在的最大非自发行中间证书数的值。String
toString()
返回描述参数的格式化字符串。-
声明方法的类 java.security.cert.PKIXParameters
addCertPathChecker, addCertStore, clone, getCertPathCheckers, getCertStores, getDate, getInitialPolicies, getPolicyQualifiersRejected, getSigProvider, getTargetCertConstraints, getTrustAnchors, isAnyPolicyInhibited, isExplicitPolicyRequired, isPolicyMappingInhibited, isRevocationEnabled, setAnyPolicyInhibited, setCertPathCheckers, setCertStores, setDate, setExplicitPolicyRequired, setInitialPolicies, setPolicyMappingInhibited, setPolicyQualifiersRejected, setRevocationEnabled, setSigProvider, setTargetCertConstraints, setTrustAnchors
-
-
-
-
构造方法详细信息
-
PKIXBuilderParameters
public PKIXBuilderParameters(Set<TrustAnchor> trustAnchors, CertSelector targetConstraints) throws InvalidAlgorithmParameterException
- 参数
-
trustAnchors
-Set
ofTrustAnchor
s -
targetConstraints
- 指定对目标证书的约束的CertSelector
- 异常
-
InvalidAlgorithmParameterException
- 如果trustAnchors
是空的(trustAnchors.isEmpty() == true)
-
NullPointerException
- 如果trustAnchors
是null
-
ClassCastException
-如果任何的元件的trustAnchors
类型不是java.security.cert.TrustAnchor
-
PKIXBuilderParameters
public PKIXBuilderParameters(KeyStore keystore, CertSelector targetConstraints) throws KeyStoreException, InvalidAlgorithmParameterException
创建PKIXBuilderParameters
的实例,该实例从指定的KeyStore
包含的受信任证书条目填充最受信任的CAKeyStore
。 仅考虑包含受信任的X509Certificate
的密钥库条目; 忽略所有其他证书类型。- 参数
-
keystore
-KeyStore
,将从中填充最受信任的CA集 -
targetConstraints
- 指定对目标证书的约束的CertSelector
- 异常
-
KeyStoreException
- 如果keystore
尚未初始化 -
InvalidAlgorithmParameterException
- 如果keystore
不包含至少一个受信任的证书条目 -
NullPointerException
- 如果keystore
是null
-
-
方法详细信息
-
setMaxPathLength
public void setMaxPathLength(int maxPathLength)
设置证书路径中可能存在的最大非自发行中间证书数的值。 如果主题和颁发者字段中出现的DN相同且不为空,则自行颁发证书。 请注意,证书路径中的最后一个证书不是中间证书,并且不包含在此限制中。 通常,最后一个证书是最终实体证书,但它可以是CA证书。 PKIXCertPathBuilder
实例不能构建长于指定长度的路径。值为0表示路径只能包含单个证书。 值-1表示路径长度不受约束(即没有最大值)。 默认的最大路径长度(如果未指定)为5.设置小于-1的值将导致抛出异常。
如果任何CA证书包含
BasicConstraintsExtension
,则只要结果是较小长度的证书路径,扩展的pathLenConstraint
字段的值pathLenConstraint
覆盖最大路径长度参数。- 参数
-
maxPathLength
- 证书路径中可能存在的最大非自行颁发的中间证书数 - 异常
-
InvalidParameterException
- 如果maxPathLength
设置为小于-1的值 - 另请参见:
-
getMaxPathLength()
-
getMaxPathLength
public int getMaxPathLength()
返回证书路径中可能存在的最大中间非自发证书数的值。 有关更多详细信息,请参见setMaxPathLength(int)
方法。- 结果
- 证书路径中可能存在的非自发中间证书的最大数量,如果没有限制,则为-1
- 另请参见:
-
setMaxPathLength(int)
-
toString
public String toString()
返回描述参数的格式化字符串。- 重写:
-
toString
在课程PKIXParameters
- 结果
- a formatted string describing the parameters
-
-