Spec-Zone.ru › OpenJDK 27

Класс 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). Например, реализация CertStore на основе LDAP предоставляет доступ к сертификатам и спискам отзыва сертификатов, хранящимся в одном или нескольких каталогах, с использованием протокола 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
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API планируется удалить в будущей версии.
Финализация объявлена устаревшей и планируется к удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения указанного промежутка реального времени.

Подробное описание конструкторов

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, соответствующих указанному селектору. Если селектору не соответствует ни один Certificates, будет возвращен пустой 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, соответствующих указанному селектору. Если селектору не соответствует ни один CRLs, будет возвращен пустой Collection.

Для некоторых типов CertStore возвращаемый результат Collection может не содержать всех CRLs, соответствующих селектору. Например, LDAP CertStore может не выполнять поиск по всем записям каталога. Вместо этого он может искать только записи, которые, вероятно, содержат искомые CRLs.

Некоторые реализации CertStore (особенно LDAP CertStores) могут выдать CertStoreException, если не предоставлен ненулевой CRLSelector с определенными критериями поиска списков отзыва сертификатов. Особенно полезны имена издателя и/или проверяемый сертификат.

Параметры:
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, 2026, 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.

Spec-Zone.ru

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