Spec-Zone.ru › OpenJDK 21

Класс 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 Standard Algorithm Names. Обратитесь к документации вашей реализации, чтобы узнать о поддержке других типов.

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

Все публичные методы объектов CertStore должны быть потокобезопасными. То есть, несколько потоков могут одновременно вызывать эти методы для одного объекта CertStore (или более одного) без негативных последствий. Это позволяет, например, потоку искать 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
Возвращает Collection Certificateов, соответствующих указанному селектору. Если ни один Certificate не соответствует селектору, будет возвращен пустой Collection.

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

Некоторые реализации CertStore (особенно CertStore LDAP) могут вызывать CertStoreException, если не указан ненулевой CertSelector, содержащий конкретные критерии, которые могут быть использованы для поиска сертификатов. Имена эмитента и/или субъекта являются особенно полезными критериями.

Параметры:
selector - CertSelector, используемый для выбора Certificateов, которые должны быть возвращены. Укажите null, чтобы вернуть все Certificateы (если поддерживается).
Возвращает:
Collection Certificateов, соответствующих указанному селектору (никогда null)
Исключения:
CertStoreException - если возникает исключение

getCRLs

public final Collection<? extends CRL> getCRLs(CRLSelector selector) throws CertStoreException
Возвращает Collection CRLов, соответствующих указанному селектору. Если ни один CRL не соответствует селектору, будет возвращен пустой Collection.

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

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

Параметры:
selector - CRLSelector, используемый для выбора CRLов, которые должны быть возвращены. Укажите null, чтобы вернуть все CRLы (если поддерживается).
Возвращает:
Collection CRLов, соответствующих указанному селектору (никогда null)
Исключения:
CertStoreException - если возникает исключение

getInstance

public static CertStore getInstance(String type, CertStoreParameters params) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException
Возвращает объект CertStore, реализующий указанный тип CertStore и инициализированный указанными параметрами.

Этот метод проходит по списку зарегистрированных поставщиков безопасности, начиная с наиболее предпочтительного поставщика. Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi из первого поставщика, который поддерживает указанный тип.

Обратите внимание, что список зарегистрированных поставщиков может быть получен с помощью метода Security.getProviders().

Возвращаемый CertStore инициализируется с помощью указанных CertStoreParameters. Тип необходимых параметров может варьироваться в зависимости от разных типов CertStoreов. Обратите внимание, что указанный объект 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
См. также:
  • Provider

getInstance

public static CertStore getInstance(String type, CertStoreParameters params, String provider) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException
Возвращает объект CertStore, реализующий указанный тип CertStore.

Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi из указанного поставщика. Указанный поставщик должен быть зарегистрирован в списке поставщиков безопасности.

Обратите внимание, что список зарегистрированных поставщиков может быть получен с помощью метода Security.getProviders().

Возвращаемый CertStore инициализируется с помощью указанных CertStoreParameters. Тип необходимых параметров может варьироваться в зависимости от разных типов CertStoreов. Обратите внимание, что указанный объект CertStoreParameters клонируется.

Параметры:
type - запрашиваемый тип CertStore. См. раздел CertStore в спецификации стандартных имен алгоритмов безопасности Java для получения информации о стандартных типах.
params - параметры инициализации (могут быть null).
provider - имя поставщика.
Возвращает:
объект CertStore, реализующий указанный тип
Исключения:
IllegalArgumentException - если provider является null или пустым
InvalidAlgorithmParameterException - если указанные параметры инициализации неподходящие для этого CertStore
NoSuchAlgorithmException - если реализация CertStoreSpi для указанного типа недоступна из указанного поставщика
NoSuchProviderException - если указанный поставщик не зарегистрирован в списке поставщиков безопасности
NullPointerException - если type является null
См. также:
  • Provider

getInstance

public static CertStore getInstance(String type, CertStoreParameters params, Provider provider) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException
Возвращает объект CertStore, реализующий указанный тип CertStore.

Возвращается новый объект CertStore, инкапсулирующий реализацию CertStoreSpi из указанного объекта Provider. Обратите внимание, что указанный объект Provider не обязательно должен быть зарегистрирован в списке поставщиков.

Возвращаемый CertStore инициализируется с помощью указанных CertStoreParameters. Тип необходимых параметров может варьироваться в зависимости от разных типов CertStoreов. Обратите внимание, что указанный объект CertStoreParameters клонируется.

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

© 1993, 2023, 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/21/docs/api/java.base/java/security/cert/CertStore.html

Spec-Zone.ru

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