|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.security.cert
类 CertStore
java.lang.Object java.security.cert.CertStore
-
public class CertStore
- extends Object
用于从存储库中检索 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 的同时搜索其他的证书。
还应确保此类的静态方法是线程安全的。多个线程可以并发调用此类中所定义的静态方法,而不会产生坏的影响。
- 从以下版本开始:
- 1.4
构造方法摘要 | |
---|---|
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 |
构造方法详细信息 |
---|
CertStore
protected CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)
-
创建一个给定类型的
CertStore
对象,并在其中封装给定的提供程序实现(SPI 对象)。- 参数:
-
storeSpi
- 提供程序实现 -
provider
- 提供程序 -
type
- 类型 -
params
- 初始化参数(可以为null
)
方法详细信息 |
---|
getCertificates
public final Collection<? extends Certificate> getCertificates(CertSelector selector) throws CertStoreException
-
返回与指定选择器匹配的
Certificate
的Collection
。如果没有与此选择器匹配的Certificate
,则返回一个空Collection
。对于某些
CertStore
类型,得到的Collection
可能不包含与该选择器匹配的所有Certificate
。例如,LDAPCertStore
可能不搜索目录中的所有项。相反,它可能只搜索那些很可能包含正要查找的Certificate
的项。如果未提供一个包括了用于查找证书的具体标准的非 null
CertSelector
,则某些CertStore
实现(特别是 LDAPCertStore
)可能抛出CertStoreException
。发布方和/或主体名称是特别有用的标准。 -
- 参数:
-
selector
- 用于选择应该返回哪些Certificate
的CertSelector。
指定null
表示返回所有的Certificate
(如果受支持)。 - 返回:
-
与指定选择器匹配的
Certificate
的Collection
(不会为null
) - 抛出:
-
CertStoreException
- 如果出现异常
getCRLs
public final Collection<? extends CRL> getCRLs(CRLSelector selector) throws CertStoreException
-
返回与指定选择器匹配的
CRL
的Collection
。如果没有与此选择器匹配的CRL
,则返回一个空Collection
。对于某些
CertStore
类型,得到的Collection
可能不包含与该选择器匹配的所有CRL
。例如,LDAPCertStore
可能不搜索目录中的所有项。相反,它可能只搜索那些很可能包含正要查找的CRL
的项。如果未提供一个包括了用于查找 CRL 的具体标准的非 null
CRLSelector
,则某些CertStore
实现(特别是 LDAPCertStore
)可能抛出CertStoreException
。发布方名称和/或要检查的证书特别有用。 -
- 参数:
-
selector
- 用于选择应该返回哪些CRL
的CRLSelector
。指定null
表示返回所有的CRL
(如果受支持)。 - 返回:
-
与指定选择器匹配的
CRL
的Collection
(不会为null
) - 抛出:
-
CertStoreException
- 如果出现异常
getInstance
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
getInstance
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
为 null
getInstance
public 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
为 null
getCertStoreParameters
public final CertStoreParameters getCertStoreParameters()
-
返回初始化此
CertStore
所用的参数。注意,CertStoreParameters
对象返回之前将被复制。 -
- 返回:
-
初始化此
CertStore
所用的参数(可以为null
)
getType
public final String getType()
-
返回此
CertStore
的类型。 -
- 返回:
-
此
CertStore
的类型