- 所有已实现的接口:
Cloneable,CertPathParameters
CertPathBuilder 算法输入的参数。
PKIX CertPathBuilder 使用这些参数来 build a CertPath 已根据 PKIX 认证路径验证算法进行验证。
要实例化 PKIXBuilderParameters 对象,应用程序必须指定一个或多个最受信任的 CA由 PKIX 认证路径验证算法定义。可以使用两个构造函数之一指定最受信任的 CA。应用程序可以调用 PKIXBuilderParameters(Set, CertSelector) ,指定 Set 的 TrustAnchor 对象,每个对象都标识一个最受信任的 CA。或者,应用程序可以调用 PKIXBuilderParameters(KeyStore, CertSelector) ,指定包含受信任证书条目的 KeyStore 实例,每个条目都将被视为最受信任的 CA。
此外,应用程序必须指定对CertPathBuilder 将尝试构建路径的目标证书的约束。约束被指定为 CertSelector 对象。这些约束应该为 CertPathBuilder 提供足够的搜索条件来找到目标证书。 X509Certificate 的最低标准通常包括主题名称和/或一个或多个主题替代名称。如果没有指定足够的标准,CertPathBuilder 可能会抛出一个 CertPathBuilderException。
并发访问
除非另有说明,否则此类中定义的方法不是线程安全的。需要同时访问单个对象的多个线程应该在它们之间同步并提供必要的锁定。每个操作单独对象的多个线程不需要同步。
- 自从:
- 1.4
- 参见:
-
构造方法总结
构造方法构造方法描述PKIXBuilderParameters(KeyStore keystore, CertSelector targetConstraints) 创建PKIXBuilderParameters的实例,该实例从指定的KeyStore中包含的受信任证书条目填充最受信任的 CA 集。PKIXBuilderParameters(Set<TrustAnchor> trustAnchors, CertSelector targetConstraints) 使用最受信任的 CA 的指定Set创建PKIXBuilderParameters的实例。 -
方法总结
修饰符和类型方法描述int返回证书路径中可能存在的中间非自发证书的最大数量值。voidsetMaxPathLength(int maxPathLength) 设置证书路径中可能存在的非自发中间证书的最大数量值。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-SetofTrustAnchorstargetConstraints- 一个CertSelector指定对目标证书的约束- 抛出:
InvalidAlgorithmParameterException- 如果trustAnchors为空(trustAnchors.isEmpty() == true)NullPointerException- 如果trustAnchors是nullClassCastException- 如果trustAnchors的任何元素不是java.security.cert.TrustAnchor类型
-
PKIXBuilderParameters
public PKIXBuilderParameters(KeyStore keystore, CertSelector targetConstraints) throws KeyStoreException , InvalidAlgorithmParameterException 创建PKIXBuilderParameters的实例,该实例从指定的KeyStore中包含的受信任证书条目填充最受信任的 CA 集。仅考虑包含受信任的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字段的值将覆盖最大路径长度参数,只要结果是更短长度的证书路径。- 参数:
maxPathLength- 证书路径中可能存在的非自行颁发的中间证书的最大数量- 抛出:
InvalidParameterException- 如果maxPathLength设置为小于 -1 的值- 参见:
-
getMaxPathLength
public int getMaxPathLength()返回证书路径中可能存在的中间非自发证书的最大数量值。有关详细信息,请参阅setMaxPathLength(int)方法。- 返回:
- 证书路径中可能存在的非自行颁发的中间证书的最大数量,如果没有限制,则为 -1
- 参见:
-
toString
返回描述参数的格式化字符串。- 重写:
toString在类PKIXParameters中- 返回:
- 描述参数的格式化字符串
-