- 所有已实现的接口:
Cloneable,CertPathParameters
- 已知子类:
PKIXBuilderParameters
CertPathValidator 算法输入的参数。
PKIX CertPathValidator 根据 PKIX 认证路径验证算法使用这些参数来验证 CertPath。
要实例化 PKIXParameters 对象,应用程序必须指定一个或多个最受信任的 CA由 PKIX 认证路径验证算法定义。可以使用两个构造函数之一指定最受信任的 CA。应用程序可以调用 PKIXParameters(Set) ,指定 Set 的 TrustAnchor 对象,每个对象标识一个最受信任的 CA。或者,应用程序可以调用 PKIXParameters(KeyStore) ,指定包含受信任证书条目的 KeyStore 实例,每个条目都将被视为最受信任的 CA。
一旦创建了 PKIXParameters 对象,就可以指定其他参数(例如,通过调用 setInitialPolicies 或 setDate ),然后将 PKIXParameters 与要验证的 CertPath 一起传递给 CertPathValidator.validate 。
任何未设置(或设置为 null )的参数都将设置为该参数的默认值。 date 参数的默认值为 null ,表示验证路径的当前时间。其余参数的默认值是最少受限的。
并发访问
除非另有说明,否则此类中定义的方法不是线程安全的。需要同时访问单个对象的多个线程应该在它们之间同步并提供必要的锁定。每个操作单独对象的多个线程不需要同步。
- 自从:
- 1.4
- 参见:
-
构造方法总结
构造方法构造方法描述PKIXParameters(KeyStore keystore) 创建PKIXParameters的实例,该实例从指定的KeyStore中包含的受信任证书条目填充最受信任的 CA 集。PKIXParameters(Set<TrustAnchor> trustAnchors) 使用最受信任的 CA 的指定Set创建PKIXParameters的实例。 -
方法总结
修饰符和类型方法描述voidaddCertPathChecker(PKIXCertPathChecker checker) 将PKIXCertPathChecker添加到证书路径检查器列表中。voidaddCertStore(CertStore store) 将CertStore添加到用于查找证书和 CRL 的CertStore列表的末尾。clone()制作此PKIXParameters对象的副本。返回证书路径检查器的List。返回用于查找证书和 CRL 的不可变ListofCertStores。getDate()返回应确定证书路径有效性的时间。返回初始策略标识符(OID 字符串)的不可变Set,表示出于证书路径处理的目的,证书用户可以接受这些策略中的任何一个。boolean获取 PolicyQualifiersRejected 标志。返回签名提供者的名称,如果未设置则返回null。返回目标证书所需的约束。返回最受信任的 CA 的不可变Set。boolean检查是否应处理任何策略 OID(如果它包含在证书中)。boolean检查是否需要显式策略。boolean检查策略映射是否被禁止。boolean检查 RevocationEnabled 标志。voidsetAnyPolicyInhibited(boolean val) 设置状态以确定是否应处理任何策略 OID(如果它包含在证书中)。voidsetCertPathCheckers(List<PKIXCertPathChecker> checkers) 设置List额外的认证路径检查器。voidsetCertStores(List<CertStore> stores) 设置用于查找证书和 CRL 的CertStore列表。void设置应确定证书路径有效性的时间。voidsetExplicitPolicyRequired(boolean val) 设置 ExplicitPolicyRequired 标志。voidsetInitialPolicies(Set<String> initialPolicies) 设置初始策略标识符(OID 字符串)的Set,表示为了证书路径处理的目的,证书用户可以接受这些策略中的任何一个。voidsetPolicyMappingInhibited(boolean val) 设置 PolicyMappingInhibited 标志。voidsetPolicyQualifiersRejected(boolean qualifiersRejected) 设置 PolicyQualifiersRejected 标志。voidsetRevocationEnabled(boolean val) 设置 RevocationEnabled 标志。voidsetSigProvider(String sigProvider) 设置签名提供者的名称。voidsetTargetCertConstraints(CertSelector selector) 对目标证书设置所需的约束。voidsetTrustAnchors(Set<TrustAnchor> trustAnchors) 设置最受信任的 CA 的Set。toString()返回描述参数的格式化字符串。
-
构造方法详细信息
-
PKIXParameters
- 参数:
trustAnchors-SetofTrustAnchors- 抛出:
InvalidAlgorithmParameterException- 如果指定的Set为空(trustAnchors.isEmpty() == true)NullPointerException- 如果指定的Set是nullClassCastException- 如果Set中的任何元素不是java.security.cert.TrustAnchor类型
-
PKIXParameters
public PKIXParameters(KeyStore keystore) throws KeyStoreException , InvalidAlgorithmParameterException 创建PKIXParameters的实例,该实例从指定的KeyStore中包含的受信任证书条目填充最受信任的 CA 集。仅考虑包含受信任的X509Certificates的密钥库条目;所有其他证书类型都将被忽略。- 参数:
keystore- 一个KeyStore,将从中填充最受信任的 CA 集- 抛出:
KeyStoreException- 如果密钥库尚未初始化InvalidAlgorithmParameterException- 如果密钥库不包含至少一个受信任的证书条目NullPointerException- 如果密钥库是null
-
-
方法详情
-
getTrustAnchors
返回最受信任的 CA 的不可变Set。- 返回:
TrustAnchors 的不可变Set(从不null)- 参见:
-
setTrustAnchors
public void setTrustAnchors(Set <TrustAnchor > trustAnchors) throws InvalidAlgorithmParameterException 设置最受信任的 CA 的Set。请注意,复制
Set以防止后续修改。- 参数:
trustAnchors-SetofTrustAnchors- 抛出:
InvalidAlgorithmParameterException- 如果指定的Set为空(trustAnchors.isEmpty() == true)NullPointerException- 如果指定的Set是nullClassCastException- 如果集合中的任何元素不是java.security.cert.TrustAnchor类型- 参见:
-
getInitialPolicies
返回初始策略标识符(OID 字符串)的不可变Set,表示出于证书路径处理的目的,证书用户可以接受这些策略中的任何一个。默认返回值是一个空的Set,这被解释为任何策略都是可以接受的。- 返回:
String格式的初始策略 OID 的不可变Set,或空的Set(暗示任何策略都是可接受的)。从不返回null。- 参见:
-
setInitialPolicies
设置初始策略标识符(OID 字符串)的Set,表示为了证书路径处理的目的,证书用户可以接受这些策略中的任何一个。默认情况下,任何策略都是可接受的(即所有策略),因此想要允许任何策略为可接受的用户不需要调用此方法,或者可以使用空的Set(或null)调用它。请注意,复制
Set以防止后续修改。- 参数:
initialPolicies-String格式(或null)的初始策略 OID 的Set- 抛出:
ClassCastException- 如果集合中的任何元素不是String类型- 参见:
-
setCertStores
设置用于查找证书和 CRL 的CertStore列表。可能是null,在这种情况下将不使用CertStore。列表中的第一个CertStores 可能比后面出现的那些更受欢迎。请注意,复制
List以防止后续修改。- 参数:
stores-CertStore的List(或null)- 抛出:
ClassCastException- 如果列表中的任何元素不是java.security.cert.CertStore类型- 参见:
-
addCertStore
将CertStore添加到用于查找证书和 CRL 的CertStore列表的末尾。- 参数:
store- 要添加的CertStore。如果是null,商店将被忽略(不添加到列表中)。
-
getCertStores
返回用于查找证书和 CRL 的不可变ListofCertStores。- 返回:
CertStore的不可变List(可能为空,但绝不为null)- 参见:
-
setRevocationEnabled
public void setRevocationEnabled(boolean val) 设置 RevocationEnabled 标志。如果此标志为真,则将使用底层 PKIX 服务提供者的默认吊销检查机制,除非将PKIXRevocationChecker作为CertPathChecker传入(请参阅下面的进一步解释)。如果此标志为 false,默认的撤销检查机制将被禁用(不使用)。创建
PKIXParameters对象时,此标志设置为 true。此设置反映了检查撤销的最常见策略,因为每个服务提供商都必须支持撤销检查才能符合 PKIX。当使用 PKIX 服务提供者的默认撤销检查机制不切实际或要替换替代撤销检查机制(也通过调用addCertPathChecker或setCertPathCheckers方法)时,复杂的应用程序应将此标志设置为 false。请注意,当
PKIXRevocationChecker作为参数通过addCertPathChecker或setCertPathCheckers方法传入时,它将用于检查吊销,而不管 RevocationEnabled 标志的设置如何。- 参数:
val- RevocationEnabled 标志的新值
-
isRevocationEnabled
public boolean isRevocationEnabled()检查 RevocationEnabled 标志。如果此标志为真,则将使用底层 PKIX 服务提供商的默认吊销检查机制,除非将PKIXRevocationChecker作为CertPathChecker传入。如果此标志为 false,默认的撤销检查机制将被禁用(不使用)。有关设置此标志值的更多详细信息,请参阅setRevocationEnabled方法。- 返回:
- RevocationEnabled 标志的当前值
-
setExplicitPolicyRequired
public void setExplicitPolicyRequired(boolean val) 设置 ExplicitPolicyRequired 标志。如果此标志为真,则需要在每个证书中明确标识可接受的策略。默认情况下,ExplicitPolicyRequired 标志为 false。- 参数:
val-true如果需要明确的策略,false否则
-
isExplicitPolicyRequired
public boolean isExplicitPolicyRequired()检查是否需要显式策略。如果此标志为真,则需要在每个证书中明确标识可接受的策略。默认情况下,ExplicitPolicyRequired 标志为 false。- 返回:
true如果需要明确的策略,false否则
-
setPolicyMappingInhibited
public void setPolicyMappingInhibited(boolean val) 设置 PolicyMappingInhibited 标志。如果此标志为真,则禁止策略映射。默认情况下,不禁止策略映射(标志为 false)。- 参数:
val-true如果要禁止策略映射,false否则
-
isPolicyMappingInhibited
public boolean isPolicyMappingInhibited()检查策略映射是否被禁止。如果此标志为真,则禁止策略映射。默认情况下,不禁止策略映射(标志为 false)。- 返回:
- 如果禁止策略映射,则为 true,否则为 false
-
setAnyPolicyInhibited
public void setAnyPolicyInhibited(boolean val) 设置状态以确定是否应处理任何策略 OID(如果它包含在证书中)。默认情况下,不禁止任何策略 OID(isAnyPolicyInhibited()返回false)。- 参数:
val-true如果要禁止任何策略 OID,false否则
-
isAnyPolicyInhibited
public boolean isAnyPolicyInhibited()检查是否应处理任何策略 OID(如果它包含在证书中)。- 返回:
true如果任何策略 OID 被禁止,false否则
-
setPolicyQualifiersRejected
public void setPolicyQualifiersRejected(boolean qualifiersRejected) 设置 PolicyQualifiersRejected 标志。如果此标志为真,则拒绝在标记为关键的证书策略扩展中包含策略限定符的证书。如果标志为 false,则不会在此基础上拒绝证书。创建
PKIXParameters对象时,此标志设置为 true。此设置反映了处理策略限定符的最常见(也是最简单)的策略。想要使用更复杂策略的应用程序必须将此标志设置为 false。请注意,PKIX 证书路径验证算法指定必须处理和验证标记为关键的证书策略扩展中的任何策略限定符。否则必须拒绝认证路径。如果 policyQualifiersRejected 标志设置为 false,则由应用程序以这种方式验证所有策略限定符以符合 PKIX。
- 参数:
qualifiersRejected- PolicyQualifiersRejected 标志的新值- 参见:
-
getPolicyQualifiersRejected
public boolean getPolicyQualifiersRejected()获取 PolicyQualifiersRejected 标志。如果此标志为真,则拒绝在标记为关键的证书策略扩展中包含策略限定符的证书。如果标志为 false,则不会在此基础上拒绝证书。创建
PKIXParameters对象时,此标志设置为 true。此设置反映了处理策略限定符的最常见(也是最简单)的策略。想要使用更复杂策略的应用程序必须将此标志设置为 false。- 返回:
- PolicyQualifiersRejected 标志的当前值
- 参见:
-
getDate
返回应确定证书路径有效性的时间。如果null,则使用当前时间。请注意,复制返回的
Date以防止后续修改。- 返回:
Date或null如果未设置- 参见:
-
setDate
设置应确定证书路径有效性的时间。如果null,则使用当前时间。请注意,复制此处提供的
Date以防止后续修改。- 参数:
date- 当前时间的Date或null- 参见:
-
setCertPathCheckers
设置List额外的认证路径检查器。如果指定的List包含一个不是PKIXCertPathChecker的对象,它将被忽略。每个
PKIXCertPathChecker指定都对证书实施额外检查。通常,这些是处理和验证证书中包含的私有扩展的检查。每个PKIXCertPathChecker都应使用执行检查所需的任何初始化参数进行实例化。此方法允许复杂的应用程序扩展 PKIX
CertPathValidator或CertPathBuilder。 PKIXCertPathValidator或CertPathBuilder将依次调用每个指定的PKIXCertPathChecker以处理或验证每个证书。无论是否设置了这些额外的
PKIXCertPathChecker,PKIXCertPathValidator或CertPathBuilder都必须对每个证书执行所有必需的 PKIX 检查。此规则的一个例外是 RevocationEnabled 标志设置为 false(请参阅setRevocationEnabled方法)。请注意,此处提供的
List已被复制,并且列表中的每个PKIXCertPathChecker都已被克隆以防止后续修改。- 参数:
checkers-ListofPKIXCertPathCheckers。可能是null,在这种情况下不会使用额外的检查器。- 抛出:
ClassCastException- 如果列表中的任何元素不是java.security.cert.PKIXCertPathChecker类型- 参见:
-
getCertPathCheckers
返回证书路径检查器的List。返回的List是不可变的,List中的每个PKIXCertPathChecker都被克隆以防止后续修改。- 返回:
PKIXCertPathChecker的不可变List(可能为空,但不是null)- 参见:
-
addCertPathChecker
将PKIXCertPathChecker添加到证书路径检查器列表中。有关详细信息,请参阅setCertPathCheckers方法。请注意,
PKIXCertPathChecker已被克隆以防止后续修改。- 参数:
checker- 一个PKIXCertPathChecker添加到检查列表中。如果是null,检查器将被忽略(不添加到列表中)。
-
getSigProvider
返回签名提供者的名称,如果未设置则返回null。- 返回:
-
签名提供者的名字(或
null) - 参见:
-
setSigProvider
设置签名提供者的名称。创建Signature对象时,将首选指定的提供程序。如果null或未设置,将使用找到的第一个支持该算法的提供程序。- 参数:
sigProvider- 签名提供者的名称(或null)- 参见:
-
getTargetCertConstraints
返回目标证书所需的约束。约束作为CertSelector的实例返回。如果是null,则没有定义任何约束。请注意,返回的
CertSelector被克隆以防止后续修改。- 返回:
-
一个
CertSelector指定对目标证书的约束(或null) - 参见:
-
setTargetCertConstraints
对目标证书设置所需的约束。约束被指定为CertSelector的一个实例。如果是null,则没有定义任何约束。请注意,克隆指定的
CertSelector以防止后续修改。- 参数:
selector- 一个CertSelector指定对目标证书的约束(或null)- 参见:
-
clone
制作此PKIXParameters对象的副本。对副本的更改不会影响原始文件,反之亦然。- 指定者:
clone在接口CertPathParameters中- 重写:
clone在类Object中- 返回:
-
这个
PKIXParameters对象的副本 - 参见:
-
toString
返回描述参数的格式化字符串。
-