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 到用于寻找
CertStore s证书和CRL列表的末尾。
|
Object |
clone()
让一份本
PKIXParameters 对象。
|
List<PKIXCertPathChecker> |
getCertPathCheckers()
返回路径的
List 跳棋。
|
List<CertStore> |
getCertStores()
返回一个不可变的
CertStore s,用于查找证书和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的
CertStore s列表。
|
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
的
TrustAnchor
s
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
TrustAnchor
s(不
null
)
setTrustAnchors(java.util.Set<java.security.cert.TrustAnchor>)
public void setTrustAnchors(Set<TrustAnchor> trustAnchors) throws InvalidAlgorithmParameterException
Set
套。
请注意,Set
复制防止随后的修改。
trustAnchors
-
Set
的
TrustAnchor
s
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)
CertStore
s列表。可能是
null
,在这种情况下,没有
CertStore
s将使用。列表中的第一个
CertStore
s可能会优先考虑那些出现后。
请注意,List
复制防止随后的修改。
stores
-
List
的
CertStore
s(或
null
)
ClassCastException
如果列表中的任何元素都不是
java.security.cert.CertStore
型
getCertStores()
public void addCertStore(CertStore store)
CertStore
到用于寻找
CertStore
s证书和CRL列表的末尾。
store
-
CertStore
添加。如果
null
,商店被忽略(不添加到列表)。
public List<CertStore> getCertStores()
CertStore
s,用于查找证书和CRL
List
。
List
CertStore
s(可能是空的,但从来没有
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
。每个指定的PKIXCertPathChecker
s将被称为,反过来,由PKIX CertPathValidator
或CertPathBuilder
每个证书的处理或验证。
不管这些额外的PKIXCertPathChecker
s设置,一个PKIX CertPathValidator
或CertPathBuilder
必须执行所有必需的PKIX检查每个证书。此规则的一个例外是如果revocationenabled标志设置为false(见setRevocationEnabled
法)。
注意,这里提供的List
复制和克隆,以防止后续的修改列表中的每个PKIXCertPathChecker
。
checkers
-
List
的
PKIXCertPathChecker
s。可能
null
,在没有额外的检查将使用案例。
ClassCastException
如果列表中的任何元素都不是
java.security.cert.PKIXCertPathChecker
型
getCertPathCheckers()
public List<PKIXCertPathChecker> getCertPathCheckers()
List
跳棋。返回的
List
是永恒不变的,在
List
每个
PKIXCertPathChecker
克隆到防止随后的修改。
List
PKIXCertPathChecker
s(可能是空的,但不
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.