Класс 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 (или более чем для одного) без негативных последствий. Это позволяет CertPathBuilder, например, искать CRL, одновременно выполняя поиск дополнительных сертификатов.
Статические методы этого класса также гарантированно потокобезопасны. Несколько потоков могут одновременно вызывать статические методы, определённые в этом классе, без негативных последствий.
- Since:
- 1.4
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт объект CertStore заданного типа и инкапсулирует в нём заданную реализацию поставщика (объект SPI). |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final Collection |
getCertificates |
Возвращает Collection Certificate, соответствующих заданному селектору. |
final CertStoreParameters |
getCertStoreParameters() |
Возвращает параметры, используемые для инициализации этого CertStore. |
final Collection |
getCRLs |
Возвращает Collection CRL, соответствующих заданному селектору. |
static final String |
getDefaultType() |
Возвращает тип по умолчанию CertStore, заданный свойством безопасности certstore.type, или строку "LDAP", если такого свойства нет. |
static CertStore |
getInstance |
Возвращает объект CertStore, который реализует указанный тип CertStore и инициализирован указанными параметрами. |
static CertStore |
getInstance |
Возвращает объект CertStore, реализующий указанный тип CertStore. |
static CertStore |
getInstance |
Возвращает объект CertStore, реализующий указанный тип CertStore. |
final Provider |
getProvider() |
Возвращает поставщика этого CertStore. |
final String |
getType() |
Возвращает тип этого CertStore. |
Подробное описание конструкторов
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
Для некоторых типов хранилищ сертификатов результирующий список может не содержать всех сертификатов, соответствующих селектору. Например, LDAP-хранилище может не искать все записи в каталоге. Вместо этого оно может искать только записи, которые, вероятно, содержат искомые сертификаты.
Некоторые реализации хранилищ сертификатов (особенно LDAP-хранилища) могут бросить исключение, если не указан ненулевой селектор, содержащий конкретные критерии поиска сертификатов. Имена эмитента и/или субъекта — особенно полезные критерии.
- Параметры:
-
selector- селектор, используемый для выбора сертификатов для возврата. Укажитеnullдля возврата всех сертификатов (если поддерживается). - Возвращает:
- Список сертификатов, соответствующих заданному селектору (никогда не
null) - Исключения:
-
CertStoreException- если произошла ошибка
getCRLs
public final Collection<? extends CRL> getCRLs(CRLSelector selector) throws CertStoreException
Для некоторых типов хранилищ списков отзывов результирующий список может не содержать всех списков отзывов, соответствующих селектору. Например, LDAP-хранилище может не искать все записи в каталоге. Вместо этого оно может искать только записи, которые, вероятно, содержат искомые списки отзывов.
Некоторые реализации хранилищ списков отзывов (особенно LDAP-хранилища) могут бросить исключение, если не указан ненулевой селектор, содержащий конкретные критерии поиска списков отзывов. Имена эмитентов и/или сертификаты для проверки — особенно полезные критерии.
- Параметры:
-
selector- селектор, используемый для выбора списков отзывов для возврата. Укажитеnullдля возврата всех списков отзывов (если поддерживается). - Возвращает:
- Список списков отзывов, соответствующих заданному селектору (никогда не
null) - Исключения:
-
CertStoreException- если произошла ошибка
getInstance
public static CertStore getInstance(String type, CertStoreParameters params) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException
Этот метод перебирает список зарегистрированных поставщиков безопасности, начиная с наиболее предпочтительного. Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi от первого поставщика, который поддерживает указанный тип.
Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().
Возвращаемый объект CertStore инициализируется указанными параметрами. Тип необходимых параметров может отличаться в зависимости от типа хранилища сертификатов. Обратите внимание, что указанный объект параметров клонируется.
- Описание реализации:
- Реализация JDK дополнительно использует свойство
jdk.security.provider.preferredSecurity, чтобы определить предпочтительный порядок поставщиков для указанного алгоритма. Этот порядок может отличаться от порядка поставщиков, возвращаемого методомSecurity.getProviders(). - Параметры:
-
type- имя запрошенного типа хранилища сертификатов. См. раздел CertStore в спецификации Java Security Standard Algorithm Names Specification для получения информации о стандартных типах. -
params- параметры инициализации (могут бытьnull). - Возвращает:
- объект, реализующий заданный тип хранилища сертификатов
- Исключения:
-
InvalidAlgorithmParameterException- если указанные параметры инициализации неподходящие для этого хранилища сертификатов -
NoSuchAlgorithmException- если ни один поставщик не поддерживает реализацию хранилища сертификатов для указанного типа -
NullPointerException- еслиtypeявляетсяnull - См. также:
getInstance
public static CertStore getInstance(String type, CertStoreParameters params, String provider) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException
Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi от указанного поставщика. Указанный поставщик должен быть зарегистрирован в списке поставщиков безопасности.
Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().
Возвращаемый объект CertStore инициализируется указанными параметрами. Тип необходимых параметров может отличаться в зависимости от типа хранилища сертификатов. Обратите внимание, что указанный объект параметров клонируется.
- Параметры:
-
type- запрошенный тип хранилища сертификатов. См. раздел CertStore в спецификации Java Security Standard Algorithm Names Specification для получения информации о стандартных типах. -
params- параметры инициализации (могут бытьnull). -
provider- имя поставщика. - Возвращает:
- объект, реализующий указанный тип
- Исключения:
-
IllegalArgumentException- если имя поставщика null или пустое -
InvalidAlgorithmParameterException- если указанные параметры инициализации неподходящие для этого хранилища сертификатов -
NoSuchAlgorithmException- если реализация хранилища сертификатов для указанного типа недоступна от указанного поставщика -
NoSuchProviderException- если указанный поставщик не зарегистрирован в списке поставщиков безопасности -
NullPointerException- еслиtypeявляетсяnull - См. также:
getInstance
public static CertStore getInstance(String type, CertStoreParameters params, Provider provider) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi от указанного объекта поставщика. Указанный объект поставщика не обязательно должен быть зарегистрирован в списке поставщиков.
Возвращаемый объект CertStore инициализируется указанными параметрами. Тип необходимых параметров может отличаться в зависимости от типа хранилища сертификатов. Обратите внимание, что указанный объект параметров клонируется.
- Параметры:
-
type- запрошенный тип хранилища сертификатов. См. раздел CertStore в спецификации Java Security Standard Algorithm Names Specification для получения информации о стандартных типах. -
params- параметры инициализации (могут бытьnull). -
provider- поставщик. - Возвращает:
- объект, реализующий указанный тип
- Исключения:
-
IllegalArgumentException- если поставщик null -
InvalidAlgorithmParameterException- если указанные параметры инициализации неподходящие для этого хранилища сертификатов -
NoSuchAlgorithmException- если реализация хранилища сертификатов для указанного типа недоступна от указанного объекта поставщика -
NullPointerException- еслиtypeявляетсяnull - См. также:
getCertStoreParameters
public final CertStoreParameters getCertStoreParameters()
- Возвращает:
- используемые параметры для инициализации хранилища сертификатов (могут быть
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", если такого свойства не существует. - См. также:
© 1993, 2025, 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/security/cert/CertStore.html