模块  java.base
软件包  java.security.cert

Class PKIXBuilderParameters

  • 实现的所有接口
    CloneableCertPathParameters

    public class PKIXBuilderParametersextends PKIXParameters
    用作PKIX CertPathBuilder算法输入的参数。

    PKIX CertPathBuilder将这些参数用于buildCertPath ,该参数已根据PKIX认证路径验证算法进行了验证。

    要实例化PKIXBuilderParameters对象,应用程序必须指定PKIX证书路径验证算法定义的一个或多个最受信任的CA. 可以使用两个构造函数之一指定最受信任的CA. 应用程序可以调用PKIXBuilderParameters(Set, CertSelector) ,指定SetTrustAnchor对象,每个对象标识最受信任的CA. 或者,应用程序可以调用PKIXBuilderParameters(KeyStore, CertSelector) ,指定包含受信任证书条目的KeyStore实例,每个实例都将被视为最受信任的CA.

    此外,应用程序必须在CertPathBuilder将尝试构建路径的目标证书上指定约束。 约束被指定为CertSelector对象。 这些约束应该为CertPathBuilder提供足够的搜索条件来查找目标证书。 X509Certificate最低标准通常包括主题名称和/或一个或多个主题替代名称。 如果未指定足够的标准,则CertPathBuilder可能会抛出CertPathBuilderException

    并发访问

    除非另有说明,否则此类中定义的方法不是线程安全的。 需要同时访问单个对象的多个线程应在它们之间进行同步并提供必要的锁定。 每个操作单独对象的多个线程不需要同步。

    从以下版本开始:
    1.4
    另请参见:
    CertPathBuilder
    • 构造方法详细信息

      • PKIXBuilderParameters

        public PKIXBuilderParameters​(KeyStore keystore,                             CertSelector targetConstraints)                      throws KeyStoreException,                             InvalidAlgorithmParameterException
        创建PKIXBuilderParameters的实例,该实例从指定的KeyStore包含的受信任证书条目填充最受信任的CA KeyStore 仅考虑包含受信任的X509Certificate的密钥库条目; 忽略所有其他证书类型。
        参数
        keystore - KeyStore ,将从中填充最受信任的CA集
        targetConstraints - 指定对目标证书的约束的 CertSelector
        异常
        KeyStoreException - 如果 keystore尚未初始化
        InvalidAlgorithmParameterException - 如果 keystore不包含至少一个受信任的证书条目
        NullPointerException - 如果 keystorenull
    • 方法详细信息

      • setMaxPathLength

        public void setMaxPathLength​(int maxPathLength)
        设置证书路径中可能存在的最大非自发行中间证书数的值。 如果主题和颁发者字段中出现的DN相同且不为空,则自行颁发证书。 请注意,证书路径中的最后一个证书不是中间证书,并且不包含在此限制中。 通常,最后一个证书是最终实体证书,但它可以是CA证书。 PKIX CertPathBuilder实例不能构建长于指定长度的路径。

        值为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