Spec-Zone.ru › OpenJDK 24

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

Одновременный доступ

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

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

Since:
1.4

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

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

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

Модификатор и тип Метод Описание
final Collection<? extends Certificate> getCertificates(CertSelector selector)
Возвращает Collection Certificate, соответствующих заданному селектору.
final CertStoreParameters getCertStoreParameters()
Возвращает параметры, используемые для инициализации этого CertStore.
final Collection<? extends CRL> getCRLs(CRLSelector selector)
Возвращает Collection CRL, соответствующих заданному селектору.
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.

Методы, объявленные в классе 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
Возвращает список сертификатов, соответствующих заданному селектору. Если сертификаты, соответствующие селектору, отсутствуют, возвращается пустой список.

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

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
См. также:
  • Provider

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
См. также:
  • Provider

getCertStoreParameters

public final CertStoreParameters getCertStoreParameters()
Возвращает параметры, используемые для инициализации этого хранилища сертификатов. Обратите внимание, что объект параметров клонируется перед возвратом.
Возвращает:
используемые параметры для инициализации хранилища сертификатов (могут быть null)
END_OF_DOCUMENT_MARKER

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

Spec-Zone.ru

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