Spec-Zone.ru › OpenJDK 8

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

Доступ из нескольких потоков

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

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

Since:
1.4

Конструкторы

Модификатор Конструктор и описание
protected CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)

Создаёт объект CertStore заданного типа и инкапсулирует в нём реализацию данного поставщика (объект SPI).

Методы

Модификатор и тип Метод и описание
Collection<? extends Certificate> getCertificates(CertSelector selector)

Возвращает Collection Certificateов, которые соответствуют заданному селектору.

CertStoreParameters getCertStoreParameters()

Возвращает параметры, используемые для инициализации этого CertStore.

Collection<? extends CRL> getCRLs(CRLSelector selector)

Возвращает Collection CRLов, которые соответствуют заданному селектору.

static String getDefaultType()

Возвращает значение типа CertStore, определённого в свойстве безопасности certstore.type, или строку "LDAP", если такое свойство не существует.

static CertStore getInstance(String type, CertStoreParameters params)

Возвращает объект CertStore, реализующий указанный тип CertStore и инициализированный заданными параметрами.

static CertStore getInstance(String type, CertStoreParameters params, Provider provider)

Возвращает объект CertStore, реализующий указанный тип CertStore.

static CertStore getInstance(String type, CertStoreParameters params, String provider)

Возвращает объект CertStore, реализующий указанный тип CertStore.

Provider getProvider()

Возвращает поставщика этого CertStore.

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ов (если поддерживается).
Возвращает:
A 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ов (если поддерживается).
Возвращает:
A 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 клонируется.

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