Класс CertStore
public class CertStore extends Object
Certificates и CRLs из репозитория. Этот класс использует архитектуру на основе поставщиков. Чтобы создать CertStore, вызовите один из статических методов getInstance, передав тип требуемого CertStore, соответствующие параметры инициализации и, при необходимости, имя требуемого поставщика.
После создания CertStore можно получать Certificates и CRLs, вызывая методы getCertificates и getCRLs.
В отличие от KeyStore, который предоставляет доступ к кэшу закрытых ключей и доверенных сертификатов, CertStore предназначен для доступа к потенциально обширному репозиторию недоверенных сертификатов и списков отзыва сертификатов (CRL). Например, реализация LDAP для CertStore предоставляет доступ к сертификатам и CRL, хранящимся в одном или нескольких каталогах, с использованием протокола LDAP и схемы, определенной в атрибуте службы RFC.
Каждая реализация платформы Java должна поддерживать следующий стандартный тип CertStore:
Collection
Параллельный доступ
Все открытые методы объектов CertStore должны быть потокобезопасными. Это означает, что несколько потоков могут одновременно вызывать эти методы для одного (или нескольких) объекта CertStore без каких-либо нежелательных последствий. Например, это позволяет CertPathBuilder одновременно искать CRL и другие сертификаты.
Потокобезопасность статических методов этого класса также гарантируется. Несколько потоков могут одновременно вызывать статические методы, определенные в этом классе, без каких-либо нежелательных последствий.
- Начиная с версии:
- 1.4
- Внешние спецификации
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает объект CertStore указанного типа и инкапсулирует в нем указанную реализацию поставщика (объект SPI). |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final Collection |
getCertificates |
Возвращает Collection из Certificates, соответствующих указанному селектору. |
final CertStoreParameters |
getCertStoreParameters() |
Возвращает параметры, использованные для инициализации этого CertStore. |
final Collection |
getCRLs |
Возвращает Collection из CRLs, соответствующих указанному селектору. |
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
Collection из Certificates, соответствующих указанному селектору. Если селектору не соответствует ни один Certificate, будет возвращен пустой Collection. Для некоторых типов CertStore результирующий Collection может не содержать все Certificates, соответствующие селектору. Например, LDAP CertStore может выполнять поиск не по всем записям каталога. Вместо этого он может искать только записи, в которых, вероятно, содержатся нужные Certificates.
Некоторые реализации CertStore (особенно LDAP CertStores) могут выбрасывать CertStoreException, если не указан ненулевой CertSelector, содержащий конкретные критерии поиска сертификатов. Особенно полезны имена издателя и/или субъекта.
- Параметры:
-
selector—CertSelector, используемый для выбора возвращаемыхCertificates. Укажитеnull, чтобы вернуть всеCertificates (если поддерживается). - Возвращает:
CollectionизCertificates, соответствующих указанному селектору (никогда неnull)- Выбрасывает:
-
CertStoreException— если возникает исключение
getCRLs
public final Collection<? extends CRL> getCRLs(CRLSelector selector) throws CertStoreException
Collection из CRLs, соответствующих указанному селектору. Если селектору не соответствует ни один CRL, будет возвращен пустой Collection. Для некоторых типов CertStore результирующий Collection может не содержать все CRLs, соответствующие селектору. Например, LDAP CertStore может выполнять поиск не по всем записям каталога. Вместо этого он может искать только записи, в которых, вероятно, содержатся нужные CRLs.
Некоторые реализации CertStore (особенно LDAP CertStores) могут выбрасывать CertStoreException, если не указан ненулевой CRLSelector, содержащий конкретные критерии поиска CRL. Особенно полезны имена издателя и/или сертификат, который необходимо проверить.
- Параметры:
-
selector—CRLSelector, используемый для выбора возвращаемыхCRLs. Укажитеnull, чтобы вернуть всеCRLs (если поддерживается). - Возвращает:
CollectionизCRLs, соответствующих указанному селектору (никогда неnull)- Выбрасывает:
-
CertStoreException— если возникает исключение
getInstance
public static CertStore getInstance(String type, CertStoreParameters params) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException
CertStore, реализующий указанный тип CertStore и инициализированный указанными параметрами. Этот метод проходит по списку зарегистрированных поставщиков безопасности, начиная с наиболее предпочтительного. Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi от первого поставщика, поддерживающего указанный тип.
Список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().
Возвращаемый CertStore инициализируется указанным CertStoreParameters. Тип необходимых параметров может различаться для разных типов CertStores. Обратите внимание, что указанный объект CertStoreParameters клонируется.
- Примечание по реализации:
- Эталонная реализация JDK дополнительно использует свойство
jdk.security.provider.preferredSecurity, чтобы определить предпочтительный порядок поставщиков для указанного алгоритма. Этот порядок может отличаться от порядка поставщиков, возвращаемого методомSecurity.getProviders(). - Параметры:
-
type— имя запрошенного типаCertStore. Сведения о стандартных типах см. в разделе CertStore спецификации стандартных имен алгоритмов безопасности Java. -
params— параметры инициализации (могут бытьnull). - Возвращает:
- объект
CertStore, реализующий указанный типCertStore - Выбрасывает:
-
InvalidAlgorithmParameterException— если указанные параметры инициализации не подходят для этогоCertStore -
NoSuchAlgorithmException— если ни одинProviderне поддерживает реализациюCertStoreSpiдля указанного типа -
NullPointerException— еслиtypeимеет значениеnull - Внешние спецификации
- См. также:
getInstance
public static CertStore getInstance(String type, CertStoreParameters params, String provider) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException
CertStore, реализующий указанный тип CertStore. Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi от указанного поставщика. Указанный поставщик должен быть зарегистрирован в списке поставщиков безопасности.
Список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().
Возвращаемый CertStore инициализируется указанным CertStoreParameters. Тип необходимых параметров может различаться для разных типов CertStores. Обратите внимание, что указанный объект CertStoreParameters клонируется.
- Параметры:
-
type— запрошенный типCertStore. Сведения о стандартных типах см. в разделе CertStore спецификации стандартных имен алгоритмов безопасности Java. -
params— параметры инициализации (могут бытьnull). -
provider— имя поставщика. - Возвращает:
- объект
CertStore, реализующий указанный тип - Выбрасывает:
-
IllegalArgumentException— еслиproviderимеет значениеnullили является пустым -
InvalidAlgorithmParameterException— если указанные параметры инициализации не подходят для этогоCertStore -
NoSuchAlgorithmException— если у указанного поставщика недоступна реализацияCertStoreSpiдля указанного типа -
NoSuchProviderException— если указанный поставщик не зарегистрирован в списке поставщиков безопасности -
NullPointerException— еслиtypeимеет значениеnull - Внешние спецификации
- См. также:
getInstance
public static CertStore getInstance(String type, CertStoreParameters params, Provider provider) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
CertStore, реализующий указанный тип CertStore. Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi из указанного объекта Provider. Обратите внимание, что указанный объект Provider не обязательно должен быть зарегистрирован в списке поставщиков.
Возвращаемый CertStore инициализируется указанным CertStoreParameters. Тип необходимых параметров может различаться для разных типов CertStores. Обратите внимание, что указанный объект CertStoreParameters клонируется.
- Параметры:
-
type— запрошенный типCertStore. Сведения о стандартных типах см. в разделе CertStore спецификации стандартных имен алгоритмов безопасности Java. -
params— параметры инициализации (могут бытьnull). -
provider— поставщик. - Возвращает:
- объект
CertStore, реализующий указанный тип - Выбрасывает:
-
IllegalArgumentException— еслиproviderимеет значение null -
InvalidAlgorithmParameterException— если указанные параметры инициализации не подходят для этогоCertStore -
NoSuchAlgorithmException— если у указанного объекта Provider недоступна реализацияCertStoreSpiдля указанного типа -
NullPointerException— еслиtypeимеет значениеnull - Внешние спецификации
- См. также:
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", если такое свойство отсутствует. - См. также:
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/cert/CertStore.html