Класс CertStore
- java.lang.Object
-
- java.security.cert.CertStore
public class CertStore extends Object
Класс для получения Certificate и CRL из хранилища.
Этот класс использует архитектуру, основанную на поставщиках. Для создания CertStore, вызовите один из статических getInstance методов, передав тип CertStore и, при необходимости, параметры инициализации, а также (по желанию) имя требуемого поставщика.
После создания CertStore, можно получить Certificate и CRL, вызвав его методы getCertificates и getCRLs.
В отличие от KeyStore, предоставляющего доступ к кэшу закрытых ключей и доверенных сертификатов, CertStore предназначен для доступа к потенциально обширному хранилищу ненадёжных сертификатов и CRL. Например, реализация CertStore с использованием LDAP предоставляет доступ к сертификатам и CRL, хранящимся в одном или нескольких каталогах с использованием протокола LDAP и схемы, определённой в атрибуте сервиса RFC.
Каждая реализация Java платформы обязана поддерживать следующий стандартный CertStore тип:
Collection
Доступ из нескольких потоков
Все публичные методы объектов CertStore должны быть потокобезопасными. То есть, несколько потоков могут одновременно вызывать эти методы на одном объекте CertStore (или более чем на одном) без негативных последствий. Это позволяет одному потоку искать CRL, а другому – дополнительные сертификаты, например.
Статические методы этого класса также гарантированно потокобезопасны. Несколько потоков могут одновременно вызывать статические методы, определённые в этом классе, без негативных последствий.
- Since:
- 1.4
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
CertStore(CertStoreSpi storeSpi,
Provider provider,
String type,
CertStoreParameters params) Создаёт объект |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Collection<? extends Certificate> |
getCertificates(CertSelector selector) Возвращает |
CertStoreParameters |
getCertStoreParameters() Возвращает параметры, используемые для инициализации этого |
Collection<? extends CRL> |
getCRLs(CRLSelector selector) Возвращает |
static String |
getDefaultType() Возвращает значение типа |
static CertStore |
getInstance(String type,
CertStoreParameters params) Возвращает объект |
static CertStore |
getInstance(String type,
CertStoreParameters params,
Provider provider) Возвращает объект |
static CertStore |
getInstance(String type,
CertStoreParameters params,
String provider) Возвращает объект |
Provider |
getProvider() Возвращает поставщика этого |
String |
getType() Возвращает тип этого |
Методы, унаследованные от класса 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 Возвращает Collection Certificateов, соответствующих указанному селектору. Если Certificateов, соответствующих селектору, нет, возвращается пустой Collection.
Для некоторых типов CertStore, полученный Collection может не содержать всех Certificateов, соответствующих селектору. Например, LDAP CertStore может не искать все записи в каталоге. Вместо этого он может искать только записи, которые, скорее всего, содержат искомые Certificateы.
Некоторые реализации CertStore (особенно LDAP CertStoreы) могут выбросить CertStoreException, если не предоставлен ненулевой CertSelector содержащий конкретные критерии для поиска сертификатов. Имя эмитента и/или субъекта являются особенно полезными критериями.
- Параметры:
-
selector-CertSelectorдля выбора возвращаемыхCertificateов. Укажитеnullдля возвращения всехCertificateов (если поддерживается). - Возвращает:
- A
CollectionCertificateов, соответствующих заданному селектору (никогдаnull) - Исключение:
-
CertStoreException- если произошла ошибка
getCRLs
public final Collection<? extends CRL> getCRLs(CRLSelector selector)
throws CertStoreException Возвращает Collection CRLов, соответствующих указанному селектору. Если CRLов, соответствующих селектору, нет, возвращается пустой Collection.
Для некоторых типов CertStore, полученный Collection может не содержать всех CRLов, соответствующих селектору. Например, LDAP CertStore может не искать все записи в каталоге. Вместо этого он может искать только записи, которые, скорее всего, содержат искомые CRLы.
Некоторые реализации CertStore (особенно LDAP CertStoreы) могут выбросить CertStoreException, если не предоставлен ненулевой CRLSelector содержащий конкретные критерии для поиска CRL. Имена эмитентов и/или проверяемый сертификат являются особенно полезными критериями.
- Параметры:
-
selector-CRLSelectorдля выбора возвращаемыхCRLов. Укажитеnullдля возвращения всехCRLов (если поддерживается). - Возвращает:
- A
CollectionCRLов, соответствующих заданному селектору (никогдаnull) - Исключение:
-
CertStoreException- если произошла ошибка
getInstance
public static CertStore getInstance(String type,
CertStoreParameters params)
throws InvalidAlgorithmParameterException,
NoSuchAlgorithmException Возвращает объект CertStore, реализующий указанный тип CertStore, и инициализированный указанными параметрами.
Этот метод обходит список зарегистрированных провайдеров безопасности, начиная с предпочтительного. Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi от первого провайдера, который поддерживает указанный тип.
Обратите внимание, что список зарегистрированных провайдеров можно получить с помощью метода Security.getProviders().
Возвращаемый CertStore инициализируется с указанными CertStoreParameters. Тип необходимых параметров может различаться в зависимости от разных типов CertStoreов. Обратите внимание, что указанный объект CertStoreParameters клонируется.
- Параметры:
-
type- имя требуемого типаCertStore. См. раздел CertStore в документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных типах. -
params- параметры инициализации (могут бытьnull). - Возвращает:
- объект
CertStore, реализующий указанный типCertStore. - Исключение:
-
NoSuchAlgorithmException- если ни один провайдер не поддерживает реализацию CertStoreSpi для указанного типа. -
InvalidAlgorithmParameterException- если указанные параметры инициализации не подходят для данногоCertStore. - См. также:
Provider
getInstance
public static CertStore getInstance(String type,
CertStoreParameters params,
String provider)
throws InvalidAlgorithmParameterException,
NoSuchAlgorithmException,
NoSuchProviderException Возвращает объект CertStore, реализующий указанный тип CertStore.
Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке провайдеров безопасности.
Обратите внимание, что список зарегистрированных провайдеров можно получить с помощью метода Security.getProviders().
Возвращаемый CertStore инициализируется с указанными CertStoreParameters. Тип необходимых параметров может различаться в зависимости от разных типов CertStoreов. Обратите внимание, что указанный объект CertStoreParameters клонируется.
- Параметры:
-
type- запрашиваемый типCertStore. См. раздел CertStore в документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных типах. -
params- параметры инициализации (могут бытьnull). -
provider- имя провайдера. - Возвращает:
- объект
CertStore, реализующий указанный тип. - Исключение:
-
NoSuchAlgorithmException- если реализация CertStoreSpi для указанного типа недоступна от указанного провайдера. -
InvalidAlgorithmParameterException- если указанные параметры инициализации не подходят для данногоCertStore. -
NoSuchProviderException- если указанный провайдер не зарегистрирован в списке провайдеров безопасности. -
IllegalArgumentException- если указанный провайдер null или пустой. - См. также:
Provider
getInstance
public static CertStore getInstance(String type,
CertStoreParameters params,
Provider provider)
throws NoSuchAlgorithmException,
InvalidAlgorithmParameterException Возвращает объект CertStore, реализующий указанный тип CertStore.
Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi от указанного объекта Provider. Обратите внимание, что указанный объект Provider не обязательно должен быть зарегистрирован в списке провайдеров.
Возвращаемый CertStore инициализируется с указанными CertStoreParameters. Тип необходимых параметров может различаться в зависимости от разных типов CertStoreов. Обратите внимание, что указанный объект CertStoreParameters клонируется.
- Параметры:
-
type- запрашиваемый типCertStore. См. раздел CertStore в документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных типах. -
params- параметры инициализации (могут бытьnull). -
provider- провайдер. - Возвращает:
- объект
CertStore, реализующий указанный тип. - Исключение:
-
NoSuchAlgorithmException- если реализация CertStoreSpi для указанного типа недоступна от указанного объекта Provider. -
InvalidAlgorithmParameterException- если указанные параметры инициализации не подходят для данногоCertStore -
IllegalArgumentException- если указанныйproviderравен null. - См. также:
Provider
getCertStoreParameters
public final CertStoreParameters getCertStoreParameters()
Возвращает параметры, используемые для инициализации данного CertStore. Обратите внимание, что объект CertStoreParameters клонируется перед возвратом.
- Возвращает:
- используемые параметры инициализации данного
CertStore(могут бытьnull)
getType
public final String getType()
Возвращает тип данного CertStore.
- Возвращает:
- тип данного
CertStore
getProvider
public final Provider getProvider()
Возвращает провайдера данного CertStore.
- Возвращает:
- провайдера данного
CertStore
getDefaultType
public static final String getDefaultType()
Возвращает тип CertStore по умолчанию, указанный в свойства certstore.type безопасности, или строку "LDAP", если такое свойство не существует.
Тип CertStore по умолчанию может быть использован приложениями, которые не хотят использовать жёстко закодированный тип при вызове одного из методов getInstance, и хотят предоставить тип CertStore по умолчанию в случае, если пользователь не укажет свой собственный.
Тип CertStore по умолчанию может быть изменён путём установки значения свойства certstore.type безопасности до желаемого типа.
- Возвращает:
- тип
CertStoreпо умолчанию, указанный в свойстваcertstore.typeбезопасности, или строку "LDAP", если такое свойство не существует. - См. также:
security properties
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.