|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.security.cert.PKIXParameters
public class PKIXParameters
用作 PKIX CertPathValidator 算法的输入的参数。
PKIX CertPathValidator 使用这些参数、根据 PKIX 证书路径验证算法来验证 CertPath。
要实例化 PKIXParameters 对象,应用程序必须指定一个或多个由 PKIX 证书路径验证算法所定义的最受信任的 CA。可以使用两个构造方法中的一个来指定最受信任的 CA。应用程序可以调用 PKIXParameters(Set) 来指定一个 TrustAnchor 对象 Set,其中每个对象都标识一个最受信任的 CA。另外,应用程序也可调用 PKIXParameters(KeyStore) 来指定一个 KeyStore 实例,其中包含多个受信任的证书项,每个项都认为是一个最受信任的 CA。
一旦创建了 PKIXParameters 对象,就可以指定其他参数(例如通过调用 setInitialPolicies 或 setDate),然后沿着要被 CertPathValidator.validate 所验证的 CertPath 传递 PKIXParameters。
所有未设置(或被设置为 null)的参数将被设置为该参数的默认值。date 参数的默认值是 null,指示验证该路径时的当前时间。其余参数的默认值是约束最少的。
并发访问
除非另行指定,否则此类中所定义的方法不是线程安全的。需要并发访问单个对象的多个线程应该在它们之间实现同步并提供所需的锁定。对于每个线程都操作一个不同对象的多个线程而言,无需实现同步。
CertPathValidator| 构造方法摘要 | |
|---|---|
PKIXParameters(KeyStore keystore)
创建一个 PKIXParameters 实例,它根据指定 KeyStore 中所包含的受信证书项生成最受信任的 CA 集。 |
|
PKIXParameters(Set<TrustAnchor> trustAnchors)
创建具有指定最受信任 CA Set 的 PKIXParameters 的实例。 |
|
| 方法摘要 | |
|---|---|
void |
addCertPathChecker(PKIXCertPathChecker checker)
向证书路径检查器列表中添加一个 PKIXCertPathChecker。 |
void |
addCertStore(CertStore store)
将 CertStore 添加到查找证书和 CRL 所使用的 CertStore 列表末尾。 |
Object |
clone()
对此 PKIXParameters 对象进行复制。 |
List<PKIXCertPathChecker> |
getCertPathCheckers()
返回证书路径检查器的 List。 |
List<CertStore> |
getCertStores()
返回用于查找证书和 CRL 的不可变 CertStore List。 |
Date |
getDate()
返回应该确定证书路径有效性的时间。 |
Set<String> |
getInitialPolicies()
返回初始策略标识符(OID 字符串)的不可变 Set,指示出于证书路径处理的目的,所有这些策略都可被证书用户接受。 |
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 列表。 |
void |
setDate(Date date)
设置应该确定证书路径有效性的时间。 |
void |
setExplicitPolicyRequired(boolean val)
设置 ExplicitPolicyRequired 标志。 |
void |
setInitialPolicies(Set<String> initialPolicies)
设置初始策略标识符(OID 字符串)的 Set,指示出于证书路径处理的目的,所有这些策略都可被证书用户接受。 |
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()
返回描述该参数的格式化字符串。 |
| 从类 java.lang.Object 继承的方法 |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 构造方法详细信息 |
|---|
public PKIXParameters(Set<TrustAnchor> trustAnchors)
throws InvalidAlgorithmParameterException
Set 的 PKIXParameters 的实例。该 set 中的每个元素都是一个 TrustAnchor。
注意,要复制该 Set 以防对其进行后续修改。
trustAnchors - TrustAnchor 的 Set
InvalidAlgorithmParameterException - 如果指定的 Set 为空 (trustAnchors.isEmpty() == true)
NullPointerException - 如果指定的 Set 为 null
ClassCastException - 如果该 Set 中任一元素不是 java.security.cert.TrustAnchor 类型的
public PKIXParameters(KeyStore keystore)
throws KeyStoreException,
InvalidAlgorithmParameterException
PKIXParameters 实例,它根据指定 KeyStore 中所包含的受信证书项生成最受信任的 CA 集。只考虑那些包含受信 X509Certificates 的 keystore 项;忽略所有其他证书类型。
keystore - 一个 KeyStore,将根据它来生成最受信任的 CA 集
KeyStoreException - 如果尚未初始化 keystore
InvalidAlgorithmParameterException - 如果 keystore 不包含一个受信证书项
NullPointerException - 如果 keystore 为 null| 方法详细信息 |
|---|
public Set<TrustAnchor> getTrustAnchors()
Set。
TrustAnchor Set(从不为 null)setTrustAnchors(java.util.Set)
public void setTrustAnchors(Set<TrustAnchor> trustAnchors)
throws InvalidAlgorithmParameterException
Set。
注意,要复制该 Set 以防对其进行后续修改。
trustAnchors - TrustAnchor 的 Set
InvalidAlgorithmParameterException - 如果指定的 Set 为空 (trustAnchors.isEmpty() == true)
NullPointerException - 如果指定的 Set 为 null
ClassCastException - 如果该 Set 中的任一元素不是 java.security.cert.TrustAnchor 类型的getTrustAnchors()public Set<String> getInitialPolicies()
Set,指示出于证书路径处理的目的,所有这些策略都可被证书用户接受。默认返回值是一个空 Set,它可以解释为任意策略均是可接受的。
String 的形式)的不可变 Set,或者是空 Set(暗示所有策略均是可接受的)。从不返回 null。setInitialPolicies(java.util.Set) public void setInitialPolicies(Set<String> initialPolicies)
Set,指示出于证书路径处理的目的,所有这些策略都可被证书用户接受。默认情况下,任意策略(也就是所有策略)都是可接受的,所以想要任意策略都为可接受的用户不必调用此方法,或者可以用空的 Set(或者 null)调用此方法。
注意,要复制该 Set 以防对其进行后续修改。
initialPolicies - 初始策略 OID(以 String 格式)的 Set(或者为 null)
ClassCastException - 如果该 set 中的任一元素不是 String 类型的getInitialPolicies()public void setCertStores(List<CertStore> stores)
CertStore 列表。可以为 null,在这种情况下将不使用 CertStore。列表中前面出现的 CertStore 可能优先于后面出现的 CertStore 使用。
注意,要复制该 List 以防对其进行后续修改。
stores - CertStore 的 List(或者为 null)
ClassCastException - 如果该 list 中的任一元素不是 java.security.cert.CertStore 类型的getCertStores()public void addCertStore(CertStore store)
CertStore 添加到查找证书和 CRL 所使用的 CertStore 列表末尾。
store - 要添加的 CertStore。如果为 null,则忽略该 CertStore(不添加到列表中)。public List<CertStore> getCertStores()
CertStore List。
CertStore List(可能为空,但从不为 null)setCertStores(java.util.List) public void setRevocationEnabled(boolean val)
创建 PKIXParameters 对象时,此标志被设置为 true。此设置反映了检查撤消最常见的策略,因为每个服务提供者必须支持撤消检查是遵守 PKIX 的。当复杂的应用程序没有实际使用 PKIX 服务提供者的默认撤消检查机制时,或者使用一个替代的撤消检查机制来替换(仍通过调用 addCertPathChecker 或 setCertPathCheckers 方法)时,应该将此标志设置为 false。
val - RevocationEnabled 标志的新值public boolean isRevocationEnabled()
setRevocationEnabled 方法。
public void setExplicitPolicyRequired(boolean val)
val - 如果需要显式策略,则为 true;否则为 falsepublic boolean isExplicitPolicyRequired()
true;否则返回 falsepublic void setPolicyMappingInhibited(boolean val)
val - 如果禁止策略映射,则为 true;否则为 falsepublic boolean isPolicyMappingInhibited()
public void setAnyPolicyInhibited(boolean val)
isAnyPolicyInhibited() 返回 false)。
val - 如果要禁止任何策略 OID,则为 true;否则为 falsepublic boolean isAnyPolicyInhibited()
true;否则返回 falsepublic void setPolicyQualifiersRejected(boolean qualifiersRejected)
创建 PKIXParameters 对象后,此标志设置为 true。此设置反映了处理策略限定符最常见(也是最简单的)的策略。希望使用更复杂策略的应用程序必须将此标志设置为 false。
注意,PKIX 证书路径验证算法规定,对标记为关键的证书策略扩展中的策略限定符必须加以处理和验证。否则必须放弃该证书路径。如果 policyQualifiersRejected 标志设置为 false,那么为了遵守 PKIX ,由应用程序以此方式来验证所有的策略限定符。
qualifiersRejected - PolicyQualifiersRejected 标志的新值getPolicyQualifiersRejected(),
PolicyQualifierInfopublic boolean getPolicyQualifiersRejected()
创建 PKIXParameters 对象后,此标志设置为 true。此设置反映了处理策略限定符最常见(也是最简单的)的策略。希望使用更复杂策略的应用程序必须将此标志设置为 false。
setPolicyQualifiersRejected(boolean)public Date getDate()
null,则使用当前时间。
注意,要复制返回的 Date 以防对其进行后续修改。
Date,如果未设置,则返回 nullsetDate(java.util.Date)public void setDate(Date date)
null,则使用当前时间。
注意,要复制此处提供的 Date 以防对其进行后续修改。
date - Date,如果使用当前时间,则为 nullgetDate()public void setCertPathCheckers(List<PKIXCertPathChecker> checkers)
List。如果指定的 List 包含不是 PKIXCertPathChecker 的对象,则忽略它。
每个指定的 PKIXCertPathChecker 都对证书进行额外的检查。通常,这些检查是对证书中所包含的私有扩展进行处理和验证。应该使用执行该检查所需的所有初始化参数对每个 PKIXCertPathChecker 进行实例化。
此方法允许复杂的应用程序扩展 PKIX CertPathValidator 或 CertPathBuilder。依次由 PKIX CertPathValidator 或 CertPathBuilder 为每个要处理或验证的证书调用每个指定的 PKIXCertPathChecker。
不管是否设置了这些额外的 PKIXCertPathChecker,PKIX CertPathValidator 或 CertPathBuilder 都必须对每个证书执行所有所需的 PKIX 检查。此规则的一个例外是,RevocationEnabled 标志设置为 false 的情况(请参见 setRevocationEnabled 方法)。
注意,将复制此处提供的 List,并且复制该 List 中的所有 PKIXCertPathChecker 以防对其进行后续修改。
checkers - PKIXCertPathChecker 的 List。可以为 null,在这种情况下将不使用其他的检查器。
ClassCastException - 如果该 List 中的任一元素不是 java.security.cert.PKIXCertPathChecker 类型的getCertPathCheckers()public List<PKIXCertPathChecker> getCertPathCheckers()
List。返回的 List 是不可变的,并且复制该 List 中的所有 PKIXCertPathChecker 以防对其进行后续修改。
PKIXCertPathChecker List(可能为空,但从不为 null)setCertPathCheckers(java.util.List) 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 对象进行复制。对副本的更改不会影响原件,反之亦然。
CertPathParameters 中的 cloneObject 中的 clonePKIXParameters 对象的副本Cloneablepublic String toString()
Object 中的 toString
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。