Spec-Zone.ru › OpenJDK 25

Класс CertStore

java.lang.Object
java.security.cert.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 спецификации стандартных имен алгоритмов безопасности Java. Ознакомьтесь с документацией к выпуску для вашей реализации, чтобы узнать, поддерживаются ли другие типы.

Параллельный доступ

Все открытые методы объектов CertStore должны быть потокобезопасными. Это означает, что несколько потоков могут одновременно вызывать эти методы для одного (или нескольких) объекта CertStore без каких-либо нежелательных последствий. Например, это позволяет CertPathBuilder одновременно искать CRL и другие сертификаты.

Потокобезопасность статических методов этого класса также гарантируется. Несколько потоков могут одновременно вызывать статические методы, определенные в этом классе, без каких-либо нежелательных последствий.

Начиная с версии:
1.4
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java

Краткое описание конструкторов

CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)
Модификатор Конструктор Описание
protected
Создает объект CertStore указанного типа и инкапсулирует в нем указанную реализацию поставщика (объект SPI).

Краткое описание методов

Модификатор и тип Метод Описание
final Collection<? extends Certificate> getCertificates(CertSelector selector)
Возвращает Collection из Certificates, соответствующих указанному селектору.
final CertStoreParameters getCertStoreParameters()
Возвращает параметры, использованные для инициализации этого CertStore.
final Collection<? extends CRL> getCRLs(CRLSelector selector)
Возвращает Collection из CRLs, соответствующих указанному селектору.
static final String getDefaultType()
Возвращает тип CertStore по умолчанию, заданный свойством безопасности certstore.type, или строку "LDAP", если такое свойство отсутствует.
static CertStore getInstance(String type, CertStoreParameters params)
Возвращает объект CertStore, реализующий указанный тип CertStore и инициализированный указанными параметрами.
static CertStore getInstance(String type, CertStoreParameters params, String provider)
Возвращает объект CertStore, реализующий указанный тип CertStore.
static CertStore getInstance(String type, CertStoreParameters params, Provider provider)
Возвращает объект CertStore, реализующий указанный тип CertStore.
final Provider getProvider()
Возвращает поставщика этого CertStore.
final String getType()
Возвращает тип этого CertStore.

Методы, объявленные в классе 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 из 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.preferred Security, чтобы определить предпочтительный порядок поставщиков для указанного алгоритма. Этот порядок может отличаться от порядка поставщиков, возвращаемого методом Security.getProviders().
Параметры:
type — имя запрошенного типа CertStore. Сведения о стандартных типах см. в разделе CertStore спецификации стандартных имен алгоритмов безопасности Java.
params — параметры инициализации (могут быть null).
Возвращает:
объект CertStore, реализующий указанный тип CertStore
Выбрасывает:
InvalidAlgorithmParameterException — если указанные параметры инициализации не подходят для этого CertStore
NoSuchAlgorithmException — если ни один Provider не поддерживает реализацию CertStoreSpi для указанного типа
NullPointerException — если type имеет значение null
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java
См. также:
  • Provider

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
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java
См. также:
  • Provider

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
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java
См. также:
  • 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", если такое свойство отсутствует.
См. также:
  • свойства безопасности

Сообщить об ошибке или предложить улучшение
Дополнительные сведения об API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API