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