|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.security.cert.CertStore
public class CertStore
用于从存储库中检索 Certificate
和 CRL
的类。
此类使用《Java Cryptography Architecture》中所描述的、基于提供程序的架构。要创建一个 CertStore
,应调用某个静态 getInstance
方法,并传入所需的 CertStore
类型、所有适用的初始化参数以及可能需要的提供程序名称。
一旦创建了 CertStore
,就可使用它来检索 Certificate
和 CRL
,方法是调用其 getCertificates
和 getCRLs
方法。
CertStore 与 KeyStore
不同,后者提供对私钥和可信任的证书缓存的访问,而 CertStore
提供对不可信任证书和 CRL 存储库(可能很大)的访问。例如,CertStore
的 LDAP 实现使用 LDAP 协议和 RFC 服务属性中所定义的方案,提供了对存储在一个或多个目录中的证书和 CRL 的访问。有关标准 CertStore
类型的更多信息,请参见《Java Certification Path API Programmer's Guide》中的附录 A。
并发访问
所有 CertStore
对象的公共方法必须是线程安全的。也就是说,多个线程在单个 CertStore
对象(或多个对象)上并发调用这些方法而不会产生坏的影响。例如,这就允许 CertPathBuilder
搜索 CRL 的同时搜索其他的证书。
还应确保此类的静态方法是线程安全的。多个线程可以并发调用此类中所定义的静态方法,而不会产生坏的影响。
构造方法摘要 | |
---|---|
protected |
CertStore(CertStoreSpi storeSpi,
Provider provider,
String type,
CertStoreParameters params)
创建一个给定类型的 CertStore 对象,并在其中封装给定的提供程序实现(SPI 对象)。 |
方法摘要 | |
---|---|
Collection<? extends Certificate> |
getCertificates(CertSelector selector)
返回与指定选择器匹配的 Certificate 的 Collection 。 |
CertStoreParameters |
getCertStoreParameters()
返回初始化此 CertStore 所用的参数。 |
Collection<? extends CRL> |
getCRLs(CRLSelector selector)
返回与指定选择器匹配的 CRL 的 Collection 。 |
static String |
getDefaultType()
返回 Java 安全属性文件中所指定的默认 CertStore 类型,如果没有此属性,则返回字符串 "LDAP"。 |
static CertStore |
getInstance(String type,
CertStoreParameters params)
返回一个实现了指定 CertStore 类型并已使用指定参数初始化的 CertStore 对象。 |
static CertStore |
getInstance(String type,
CertStoreParameters params,
Provider provider)
返回一个实现指定 CertStore 类型(由指定的提供程序提供并使用指定参数初始化)的 CertStore 对象。 |
static CertStore |
getInstance(String type,
CertStoreParameters params,
String provider)
返回一个实现指定 CertStore 类型(由指定的提供程序提供)并使用指定参数初始化的 CertStore 对象。 |
Provider |
getProvider()
返回此 CertStore 的提供程序。 |
String |
getType()
返回此 CertStore 的类型。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
protected CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)
CertStore
对象,并在其中封装给定的提供程序实现(SPI 对象)。
storeSpi
- 提供程序实现provider
- 提供程序type
- 类型params
- 初始化参数(可以为 null
)方法详细信息 |
---|
public final Collection<? extends Certificate> getCertificates(CertSelector selector) throws CertStoreException
Certificate
的 Collection
。如果没有与此选择器匹配的 Certificate
,则返回一个空 Collection
。
对于某些 CertStore
类型,得到的 Collection
可能不包含与该选择器匹配的所有 Certificate
。例如,LDAP CertStore
可能不搜索目录中的所有项。相反,它可能只搜索那些很可能包含正要查找的 Certificate
的项。
如果未提供一个包括了用于查找证书的具体标准的非 null CertSelector
,则某些 CertStore
实现(特别是 LDAP CertStore
)可能抛出 CertStoreException
。发布方和/或主体名称是特别有用的标准。
selector
- 用于选择应该返回哪些 Certificate
的 CertSelector。
指定 null
表示返回所有的 Certificate
(如果受支持)。
Certificate
的 Collection
(不会为 null
)
CertStoreException
- 如果出现异常public final Collection<? extends CRL> getCRLs(CRLSelector selector) throws CertStoreException
CRL
的 Collection
。如果没有与此选择器匹配的 CRL
,则返回一个空 Collection
。
对于某些 CertStore
类型,得到的 Collection
可能不包含与该选择器匹配的所有 CRL
。例如,LDAP CertStore
可能不搜索目录中的所有项。相反,它可能只搜索那些很可能包含正要查找的 CRL
的项。
如果未提供一个包括了用于查找 CRL 的具体标准的非 null CRLSelector
,则某些 CertStore
实现(特别是 LDAP CertStore
)可能抛出 CertStoreException
。发布方名称和/或要检查的证书特别有用。
selector
- 用于选择应该返回哪些 CRL
的 CRLSelector
。指定 null
表示返回所有的 CRL
(如果受支持)。
CRL
的 Collection
(不会为 null
)
CertStoreException
- 如果出现异常public static CertStore getInstance(String type, CertStoreParameters params) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException
CertStore
类型并已使用指定参数初始化的 CertStore
对象。
如果默认提供程序包提供了指定 CertStore
类型的实现,则返回包含该实现的 CertStore
实例。如果默认包中不存在所请求的类型,则搜索其他包。
使用指定的 CertStoreParameters
初始化返回的 CertStore
。不同类型的 CertStore
所需的参数类型可能有所不同。注意,指定的 CertStoreParameters
对象将被复制。
type
- 所请求的 CertStore
类型的名称params
- 初始化参数(可以为 null
)
CertStore
类型的 CertStore
对象
NoSuchAlgorithmException
- 如果默认提供程序包或搜索过的所有其他提供程序包中不存在所请求的类型
InvalidAlgorithmParameterException
- 如果指定的初始化参数不适合此 CertStore
public static CertStore getInstance(String type, CertStoreParameters params, String provider) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException
CertStore
类型(由指定的提供程序提供)并使用指定参数初始化的 CertStore
对象。
使用指定的 CertStoreParameters
初始化返回的 CertStore
。不同类型的 CertStore
所需的参数类型有所不同。注意,指定的 CertStoreParameters
对象将被复制。
type
- 所请求的 CertStore
类型params
- 初始化参数(可以为 null
)provider
- 提供程序的名称
CertStore
对象
NoSuchAlgorithmException
- 如果指定的提供程序不提供所请求的类型
InvalidAlgorithmParameterException
- 如果指定的初始化参数不适合此 CertStore
NoSuchProviderException
- 如果尚未配置提供程序
IllegalArgumentException
- 如果 provider
为 nullpublic static CertStore getInstance(String type, CertStoreParameters params, Provider provider) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
CertStore
类型(由指定的提供程序提供并使用指定参数初始化)的 CertStore
对象。注:不必注册该 provider
。
使用指定的 CertStoreParameters
初始化返回的 CertStore
。不同类型的 CertStore
所需的参数类型有所不同。注意,指定的 CertStoreParameters
对象将被复制。
type
- 所请求的 CertStore
类型params
- 初始化参数(可以为 null
)provider
- 提供程序
CertStore
对象
NoSuchAlgorithmException
- 如果指定的提供程序不提供所请求的类型
InvalidAlgorithmParameterException
- 如果指定的初始化参数不适合此 CertStore
IllegalArgumentException
- 如果 provider
为 nullpublic final CertStoreParameters getCertStoreParameters()
CertStore
所用的参数。注意,CertStoreParameters
对象返回之前将被复制。
CertStore
所用的参数(可以为 null
)public final String getType()
CertStore
的类型。
CertStore
的类型public final Provider getProvider()
CertStore
的提供程序。
CertStore
的提供程序public static final String getDefaultType()
CertStore
类型,如果没有此属性,则返回字符串 "LDAP"。Java 安全属性文件位于指定的 <JAVA_HOME>/lib/security/java.security 文件中,其中 <JAVA_HOME> 是指安装 JDK 的目录。
对于调用某个 getInstance
方法时不希望使用硬编码 CertStore 类型,以及在用户未指定所用 CertStore 类型的情况下希望提供默认 CertStore
类型的应用程序而言,可以使用默认的 CertStore
类型。
通过将 "certstore.type" 安全属性(在 Java 安全属性文件中)的值设置为所需的类型即可更改默认的 CertStore
类型。
CertStore
类型,如果没有此属性,则返回字符串 "LDAP"。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。