Класс 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 должны быть потокобезопасными. То есть, несколько потоков могут одновременно вызывать эти методы на одном объекте CertStore (или более чем на одном) без каких-либо негативных последствий. Это позволяет CertPathBuilder искать CRL одновременно с поиском дополнительных сертификатов, например.
Статические методы этого класса также гарантированно являются потокобезопасными. Несколько потоков могут одновременно вызывать статические методы, определённые в этом классе, без каких-либо негативных последствий.
- Since:
- 1.4
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт объект CertStore заданного типа и инкапсулирует в нём заданную реализацию поставщика (объект SPI). |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final Collection<? extends Certificate> |
getCertificates |
Возвращает Collection Certificateов, соответствующих заданному селектору. |
final CertStoreParameters |
getCertStoreParameters() |
Возвращает параметры, использованные для инициализации этого CertStore. |
final Collection<? extends CRL> |
getCRLs |
Возвращает Collection CRLов, соответствующих заданному селектору. |
static final String |
getDefaultType() |
Возвращает тип CertStore по умолчанию, определённый свойством безопасности certstore.type, или строку "LDAP", если такого свойства нет. |
static CertStore |
getInstance |
Возвращает объект CertStore, который реализует указанный тип CertStore и инициализирован заданными параметрами. |
static CertStore |
getInstance |
Возвращает объект CertStore, который реализует указанный тип CertStore. |
static CertStore |
getInstance |
Возвращает объект CertStore, который реализует указанный тип CertStore. |
final Provider |
getProvider() |
Возвращает поставщика этого CertStore. |
final String |
getType() |
Возвращает тип этого CertStore. |
Подробное описание конструкторов
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(если поддерживается). - Возвращает:
CollectionCertificate, соответствующих заданному селектору (никогда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(если поддерживается). - Возвращает:
CollectionCRL, соответствующих заданному селектору (никогда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.preferredSecurityдля определения предпочтительного порядка провайдеров для указанного алгоритма. Это может отличаться от порядка провайдеров, возвращаемых методом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 - См. также:
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 - См. также:
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 - См. также:
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", если такое свойство не существует. - См. также:
© 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