Spec-Zone.ru › OpenJDK 17

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

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

Некоторые реализации CertStore (особенно LDAP-CertStore) могут выбросить 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 , соответствующих селектору. Например, LDAP-CertStore может не искать все записи в каталоге. Вместо этого он может искать только записи, которые, скорее всего, содержат искомые CRL.

Некоторые реализации CertStore (особенно LDAP-CertStore) могут выбросить 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 Security Java Security Standard Algorithm Names Specification для получения информации о стандартных типах.
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 Security Java Security Standard Algorithm Names Specification для получения информации о стандартных типах.
params - параметры инициализации (могут быть null).
provider - имя провайдера.
Возвращает:
объект CertStore , реализующий указанный тип
Исключение:
IllegalArgumentException - если провайдер provider или пуст
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 Security Java Security Standard Algorithm Names Specification для получения информации о стандартных типах.
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, 2021, 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/17/docs/api/java.base/java/security/cert/CertStore.html

Spec-Zone.ru

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