public class PKIXParameters extends Object implements CertPathParameters
CertPathValidator算法的实现。
一个PKIX CertPathValidator使用这些参数来验证一个CertPath根据PKIX证书路径验证算法。
实例化一个PKIXParameters对象,应用程序必须指定一个或多个最受信任的CA的证书路径验证算法定义的实现。可以使用两个构造函数中的一个指定最受信任的中科院。应用程序可以调用指定的PKIXParameters(Set),Set TrustAnchor对象,分别确定一个最受信任的CA或者,应用程序可以调用PKIXParameters(KeyStore),指定一个包含可信证书条目KeyStore实例,每一个都会被认为是最受信任的CA
一旦PKIXParameters对象已经创建,其他参数可以指定(通过调用setInitialPolicies或setDate,例如),然后PKIXParameters通过随着CertPath被验证CertPathValidator.validate。
任何参数没有设置(或设置为null)将被设置为该参数的默认值。为date参数的默认值是null,这表明目前的时候路径验证。剩余的参数的默认值是最小约束的。
并发访问
除非另有说明,在这个类中定义的方法不是线程安全的。需要访问一个单一对象的多个线程同时应同步,并提供必要的锁。多线程每个操作单独的对象不需要同步。
CertPathValidator
| Constructor and Description |
|---|
PKIXParameters(KeyStore keystore)
创建
PKIXParameters填充包含在指定
KeyStore最受信任的CA的证书信任项集合中的一个实例。
|
PKIXParameters(Set<TrustAnchor> trustAnchors)
创建具有指定
Set最受信任的CA的
PKIXParameters实例。
|
| Modifier and Type | Method and Description |
|---|---|
void |
addCertPathChecker(PKIXCertPathChecker checker)
增加了一个
PKIXCertPathChecker到证书路径检查清单。
|
void |
addCertStore(CertStore store)
增加了一个
CertStore到用于寻找
CertStores证书和CRL列表的末尾。
|
Object |
clone()
让一份本
PKIXParameters对象。
|
List<PKIXCertPathChecker> |
getCertPathCheckers()
返回路径的
List跳棋。
|
List<CertStore> |
getCertStores()
返回一个不可变的
CertStores,用于查找证书和CRL
List。
|
Date |
getDate()
返回证书路径的有效性应确定的时间。
|
Set<String> |
getInitialPolicies()
返回一个不可变的初始政策标识符
Set(OID的字符串),说明这些政策的任何一个都会为证书路径处理的目的证书用户可接受的。
|
boolean |
getPolicyQualifiersRejected()
得到policyqualifiersrejected旗。
|
String |
getSigProvider()
返回签名者的名字,或
null如果没有设置。
|
CertSelector |
getTargetCertConstraints()
返回目标证书上的所需的约束。
|
Set<TrustAnchor> |
getTrustAnchors()
返回一个不可变的最受信任的CA
Set。
|
boolean |
isAnyPolicyInhibited()
检查是否有任何政策OID应该是否包含在证书处理。
|
boolean |
isExplicitPolicyRequired()
检查是否需要显式策略。
|
boolean |
isPolicyMappingInhibited()
检查策略映射是否被抑制。
|
boolean |
isRevocationEnabled()
检查revocationenabled旗。
|
void |
setAnyPolicyInhibited(boolean val)
集的状态以确定任何政策OID应该是否包含在证书处理。
|
void |
setCertPathCheckers(List<PKIXCertPathChecker> checkers)
设置一个
List附加认证路径跳棋。
|
void |
setCertStores(List<CertStore> stores)
设置用于查找证书和CRL的
CertStores列表。
|
void |
setDate(Date date)
设置认证路径的有效性应确定的时间。
|
void |
setExplicitPolicyRequired(boolean val)
集explicitpolicyrequired旗。
|
void |
setInitialPolicies(Set<String> initialPolicies)
设置初始政策标识符的
Set(OID的字符串),说明这些政策的任何一个都会为证书路径处理的目的证书用户可接受的。
|
void |
setPolicyMappingInhibited(boolean val)
集policymappinginhibited旗。
|
void |
setPolicyQualifiersRejected(boolean qualifiersRejected)
集policyqualifiersrejected旗。
|
void |
setRevocationEnabled(boolean val)
集revocationenabled旗。
|
void |
setSigProvider(String sigProvider)
设置签名提供程序的名称。
|
void |
setTargetCertConstraints(CertSelector selector)
设置目标证书上的所需的约束。
|
void |
setTrustAnchors(Set<TrustAnchor> trustAnchors)
最受信任的CA的
Set套。
|
String |
toString()
返回一个描述参数的格式化字符串。
|
public PKIXParameters(Set<TrustAnchor> trustAnchors) throws InvalidAlgorithmParameterException
trustAnchors -
Set的
TrustAnchors
InvalidAlgorithmParameterException -如果指定
Set是空的
(trustAnchors.isEmpty() == true)
NullPointerException -如果指定
Set是
null
ClassCastException -如果在
Set元素不是
java.security.cert.TrustAnchor型
public PKIXParameters(KeyStore keystore) throws KeyStoreException, InvalidAlgorithmParameterException
PKIXParameters填充包含在指定
KeyStore最受信任的CA的证书信任项集合中的一个实例。只考虑keystore项包含可信
X509Certificates;所有其他的证书类型被忽略。
keystore -
KeyStore从其中最信任的CAs集将被填充
KeyStoreException如果keystore尚未初始化
InvalidAlgorithmParameterException如果密钥库不包含至少一个受信任的证书项
NullPointerException如果密钥库是
null
public Set<TrustAnchor> getTrustAnchors()
Set。
Set
TrustAnchors(不
null)
setTrustAnchors(java.util.Set<java.security.cert.TrustAnchor>)
public void setTrustAnchors(Set<TrustAnchor> trustAnchors) throws InvalidAlgorithmParameterException
Set套。
请注意,Set复制防止随后的修改。
trustAnchors -
Set的
TrustAnchors
InvalidAlgorithmParameterException -如果指定
Set是空的
(trustAnchors.isEmpty() == true)
NullPointerException -如果指定
Set是
null
ClassCastException -如果集合中的元素是不
java.security.cert.TrustAnchor型
getTrustAnchors()
public Set<String> getInitialPolicies()
Set(OID的字符串),说明这些政策的任何一个都会为证书路径处理的目的证书用户可接受的。默认的返回值是一个空
Set,这被解释为意味着,任何政策都会接受。
String初始政策
Set OID,或空
Set(暗示任何政策是可以接受的)。永远不会返回
null。
setInitialPolicies(java.util.Set<java.lang.String>)
public void setInitialPolicies(Set<String> initialPolicies)
Set(OID的字符串),说明这些政策的任何一个都会为证书路径处理的目的证书用户可接受的。默认情况下,任何政策都是可以接受的(即所有的政策),所以用户想让任何政策接受不需要调用这个方法,或者可以称之为一个空
Set(或
null)。
请注意,Set复制防止随后的修改。
initialPolicies -
Set在
String格式的初始策略OID(或
null)
ClassCastException -如果集合中的元素是不
String型
getInitialPolicies()
public void setCertStores(List<CertStore> stores)
CertStores列表。可能是
null,在这种情况下,没有
CertStores将使用。列表中的第一个
CertStores可能会优先考虑那些出现后。
请注意,List复制防止随后的修改。
stores -
List的
CertStores(或
null)
ClassCastException如果列表中的任何元素都不是
java.security.cert.CertStore型
getCertStores()
public void addCertStore(CertStore store)
CertStore到用于寻找
CertStores证书和CRL列表的末尾。
store -
CertStore添加。如果
null,商店被忽略(不添加到列表)。
public List<CertStore> getCertStores()
CertStores,用于查找证书和CRL
List。
List
CertStores(可能是空的,但从来没有
null)
setCertStores(java.util.List<java.security.cert.CertStore>)
public void setRevocationEnabled(boolean val)
当一个PKIXParameters对象创建时,这个标志被设置为true。这个设置反映检查撤销最常用的策略,因为每个服务提供者必须支持撤销检查是PKIX标准。复杂的应用程序应设置此标志为false时不使用PKIX服务提供商的默认撤销检查机构或实际当选择撤销检查机制是取代(也叫addCertPathChecker或setCertPathCheckers方法)。
val的revocationenabled标志的新价值
public boolean isRevocationEnabled()
setRevocationEnabled方法。
public void setExplicitPolicyRequired(boolean val)
val -
true如果明确的政策是必须的,否则
false
public boolean isExplicitPolicyRequired()
true如果明确的政策是必需的,否则
false
public void setPolicyMappingInhibited(boolean val)
val -
true如果政策映射被抑制,
false否则
public boolean isPolicyMappingInhibited()
public void setAnyPolicyInhibited(boolean val)
isAnyPolicyInhibited()返回
false)。
val -
true如果任何政策的OID是被抑制,
false否则
public boolean isAnyPolicyInhibited()
true如果任何政策空间受到抑制,
false否则
public void setPolicyQualifiersRejected(boolean qualifiersRejected)
当一个PKIXParameters对象创建时,这个标志被设置为true。这个设置反映了最常见的(最简单的)处理政策限定策略。要使用一个更复杂的策略的应用程序必须将此标志设置为假。
请注意,PKIX证书路径验证算法指定一个证书策略扩展标记为关键必须处理和验证任何政策限定符。否则,认证路径必须被拒绝。如果policyqualifiersrejected标志设置为false,要验证所有政策预选赛这样以PKIX标准的应用。
qualifiersRejected的policyqualifiersrejected标志的新价值
getPolicyQualifiersRejected(),
PolicyQualifierInfo
public boolean getPolicyQualifiersRejected()
当一个PKIXParameters对象创建时,这个标志被设置为true。这个设置反映了最常见的(最简单的)处理政策限定策略。要使用一个更复杂的策略的应用程序必须将此标志设置为假。
setPolicyQualifiersRejected(boolean)
public Date getDate()
null,当前时间是用。
请注意,Date返回复制防止随后的修改。
Date,或
null如果没有设置
setDate(java.util.Date)
public void setDate(Date date)
null,当前时间是用。
注意,这里提供的Date复制防止随后的修改。
date -
Date,或
null为当前时间
getDate()
public void setCertPathCheckers(List<PKIXCertPathChecker> checkers)
List附加认证路径跳棋。如果指定的
List包含一个对象,不是一个
PKIXCertPathChecker,它被忽略。
每个PKIXCertPathChecker指定执行额外的检查证书上。通常情况下,这些都是检查过程,并验证包含在证书中的私有扩展。每个PKIXCertPathChecker应该实例化任何初始化参数需要执行检查。
这种方法使复杂的应用程序扩展PKIX CertPathValidator或CertPathBuilder。每个指定的PKIXCertPathCheckers将被称为,反过来,由PKIX CertPathValidator或CertPathBuilder每个证书的处理或验证。
不管这些额外的PKIXCertPathCheckers设置,一个PKIX CertPathValidator或CertPathBuilder必须执行所有必需的PKIX检查每个证书。此规则的一个例外是如果revocationenabled标志设置为false(见setRevocationEnabled法)。
注意,这里提供的List复制和克隆,以防止后续的修改列表中的每个PKIXCertPathChecker。
checkers -
List的
PKIXCertPathCheckers。可能
null,在没有额外的检查将使用案例。
ClassCastException如果列表中的任何元素都不是
java.security.cert.PKIXCertPathChecker型
getCertPathCheckers()
public List<PKIXCertPathChecker> getCertPathCheckers()
List跳棋。返回的
List是永恒不变的,在
List每个
PKIXCertPathChecker克隆到防止随后的修改。
List
PKIXCertPathCheckers(可能是空的,但不
null)
setCertPathCheckers(java.util.List<java.security.cert.PKIXCertPathChecker>)
public void addCertPathChecker(PKIXCertPathChecker checker)
PKIXCertPathChecker到证书路径检查清单。详情请参阅
setCertPathCheckers方法。
值得注意的是,克隆到防止随后的修改PKIXCertPathChecker。
checker -
PKIXCertPathChecker添加到检查清单。如果
null,检查被忽略(不添加到列表)。
public String getSigProvider()
null如果没有设置。
null)
setSigProvider(java.lang.String)
public void setSigProvider(String sigProvider)
Signature。如果
null或不设置,第一个供应商找到了支持的算法将被用于。
sigProvider -签名者的名字(或
null)
getSigProvider()
public CertSelector getTargetCertConstraints()
CertSelector实例返回。如果
null,没有定义约束。
值得注意的是,克隆到防止随后的修改CertSelector返回。
CertSelector指定目标的约束(或
null)证书
setTargetCertConstraints(java.security.cert.CertSelector)
public void setTargetCertConstraints(CertSelector selector)
CertSelector实例。如果
null,没有定义约束。
值得注意的是,克隆到防止后续修改指定的CertSelector。
selector -
CertSelector指定目标的约束(或
null)证书
getTargetCertConstraints()
public Object clone()
PKIXParameters对象。对副本的更改不会影响原始,反之亦然。
clone 接口
CertPathParameters
clone 方法重写,继承类
Object
PKIXParameters对象
Cloneable
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.