Класс 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 (или более одного) без негативных последствий. Это позволяет, например, потоку искать CRL, одновременно выполняя поиск дополнительных сертификатов.
Статические методы этого класса также гарантированно потокобезопасны. Несколько потоков могут одновременно вызывать статические методы, определённые в этом классе, без негативных последствий.
- Since:
- 1.4
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт объект CertStore заданного типа и инкапсулирует в нём реализацию заданного поставщика (объект SPI). |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final Collection |
getCertificates |
Возвращает Collection Certificate соответствующих заданному селектору. |
final CertStoreParameters |
getCertStoreParameters() |
Возвращает параметры, используемые для инициализации этого CertStore. |
final Collection |
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ов, соответствующих селектору. Например, CertStore LDAP может не искать все записи в каталоге. Вместо этого он может искать только записи, которые, вероятно, содержат искомые Certificateы.
Некоторые реализации CertStore (особенно CertStore LDAP) могут вызывать 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ов, соответствующих селектору. Например, CertStore LDAP может не искать все записи в каталоге. Вместо этого он может искать только записи, которые, вероятно, содержат искомые CRLы.
Некоторые реализации CertStore (особенно CertStore LDAP) могут вызывать 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 для получения информации о стандартных типах. -
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 для получения информации о стандартных типах. -
params- параметры инициализации (могут бытьnull). -
provider- имя поставщика. - Возвращает:
- объект
CertStore, реализующий указанный тип - Исключения:
-
IllegalArgumentException- еслиproviderявляетсяnullили пустым -
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 для получения информации о стандартных типах. -
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, 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