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