Класс 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 (или более чем одном) без негативных последствий. Это позволяет CertPathBuilder искать 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, String provider)

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

static CertStore getInstance​(String type, CertStoreParameters params, Provider 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ы, которые соответствуют селектору. Например, 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, содержащий определенные критерии, которые можно использовать для поиска CRLs. Имена эмитентов и/или проверяемый сертификат являются особенно полезными.

Параметры:
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, 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/cert/CertStore.html

Spec-Zone .ru
спецификации, руководства, описания, API