Spec-Zone.ru › OpenJDK 27

Класс CertificateFactorySpi

java.lang.Object
java.security.cert.CertificateFactorySpi
public abstract class CertificateFactorySpi extends Object
Этот класс определяет интерфейс поставщика услуг (SPI) для класса CertificateFactory. Все абстрактные методы этого класса должны быть реализованы каждым поставщиком криптографических услуг, который желает предоставить реализацию фабрики сертификатов для определённого типа сертификатов, например X.509.

Фабрики сертификатов используются для создания объектов сертификатов, путей сертификации (CertPath) и списков отзыва сертификатов (CRL) на основе их кодировок.

Фабрика сертификатов для X.509 должна возвращать сертификаты, являющиеся экземплярами java.security.cert.X509Certificate, а также CRL, являющиеся экземплярами java.security.cert.X509CRL.

Начиная с версии:
1.2
См. также:
  • CertificateFactory
  • Certificate
  • X509Certificate
  • CertPath
  • CRL
  • X509CRL

Краткое описание конструкторов

Конструктор Описание
CertificateFactorySpi()
Конструктор для вызова подклассами.

Краткое описание методов

Модификатор и тип Метод Описание
abstract Certificate engineGenerateCertificate(InputStream inStream)
Создаёт объект сертификата и инициализирует его данными, прочитанными из входного потока inStream.
abstract Collection<? extends Certificate> engineGenerateCertificates(InputStream inStream)
Возвращает представление коллекции (возможно, пустой) сертификатов, прочитанных из заданного входного потока inStream.
CertPath engineGenerateCertPath(InputStream inStream)
Создаёт объект CertPath и инициализирует его данными, прочитанными из InputStream inStream.
CertPath engineGenerateCertPath(InputStream inStream, String encoding)
Создаёт объект CertPath и инициализирует его данными, прочитанными из InputStream inStream.
CertPath engineGenerateCertPath(List<? extends Certificate> certificates)
Создаёт объект CertPath и инициализирует его List сертификатов Certificate.
abstract CRL engineGenerateCRL(InputStream inStream)
Создаёт объект списка отзыва сертификатов (CRL) и инициализирует его данными, прочитанными из входного потока inStream.
abstract Collection<? extends CRL> engineGenerateCRLs(InputStream inStream)
Возвращает представление коллекции (возможно, пустой) CRL, прочитанных из заданного входного потока inStream.
Iterator<String> engineGetCertPathEncodings()
Возвращает итератор по кодировкам CertPath, поддерживаемым этой фабрикой сертификатов; кодировка по умолчанию указана первой.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии.
Финализация устарела и подлежит удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

CertificateFactorySpi

public CertificateFactorySpi()
Конструктор для вызова подклассами.

Подробное описание методов

engineGenerateCertificate

public abstract Certificate engineGenerateCertificate(InputStream inStream) throws CertificateException
Создаёт объект сертификата и инициализирует его данными, прочитанными из входного потока inStream.

Чтобы воспользоваться специализированным форматом сертификатов, поддерживаемым этой фабрикой сертификатов, возвращённый объект сертификата можно привести к соответствующему классу сертификата. Например, если эта фабрика сертификатов реализует сертификаты X.509, возвращённый объект сертификата можно привести к классу X509Certificate.

Для фабрики сертификатов X.509 предоставляемый в inStream сертификат должен быть закодирован в формате DER и может быть представлен в двоичном формате или в печатном формате (Base64). Если сертификат представлен в формате Base64, в начале должны находиться символы -----BEGIN CERTIFICATE-----, а в конце — -----END CERTIFICATE-----.

Обратите внимание: если заданный входной поток не поддерживает mark и reset, этот метод прочитает весь входной поток. В противном случае каждый вызов этого метода считывает один сертификат, а позиция чтения входного потока устанавливается на следующий доступный байт после встроенного маркера конца сертификата. Если данные во входном потоке не содержат встроенного маркера конца сертификата (кроме EOF), а после разбора сертификата остаются дополнительные данные, выбрасывается CertificateException.

Параметры:
inStream — входной поток с данными сертификата.
Возвращает:
объект сертификата, инициализированный данными из входного потока.
Выбрасывает:
CertificateException — при ошибках разбора.

engineGenerateCertPath

public CertPath engineGenerateCertPath(InputStream inStream) throws CertificateException
Создаёт объект CertPath и инициализирует его данными, прочитанными из InputStream inStream. Предполагается, что данные представлены в кодировке по умолчанию.

Этот метод был добавлен в версию 1.4 Java 2 Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод не может быть abstract и по умолчанию выбрасывает UnsupportedOperationException.

Параметры:
inStream — InputStream, содержащий данные
Возвращает:
CertPath, инициализированный данными из InputStream
Выбрасывает:
CertificateException — если при декодировании возникает исключение
UnsupportedOperationException — если метод не поддерживается
Начиная с версии:
1.4

engineGenerateCertPath

public CertPath engineGenerateCertPath(InputStream inStream, String encoding) throws CertificateException
Создаёт объект CertPath и инициализирует его данными, прочитанными из InputStream inStream. Предполагается, что данные представлены в указанной кодировке.

Этот метод был добавлен в версию 1.4 Java 2 Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод не может быть abstract и по умолчанию выбрасывает UnsupportedOperationException.

Параметры:
inStream — InputStream, содержащий данные
encoding — кодировка, используемая для данных
Возвращает:
CertPath, инициализированный данными из InputStream
Выбрасывает:
CertificateException — если при декодировании возникает исключение или запрошенная кодировка не поддерживается
UnsupportedOperationException — если метод не поддерживается
Начиная с версии:
1.4

engineGenerateCertPath

public CertPath engineGenerateCertPath(List<? extends Certificate> certificates) throws CertificateException
Создаёт объект CertPath и инициализирует его List сертификатов Certificate.

Предоставленные сертификаты должны иметь тип, поддерживаемый CertificateFactory. Они будут скопированы из предоставленного объекта List.

Этот метод был добавлен в версию 1.4 Java 2 Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод не может быть abstract и по умолчанию выбрасывает UnsupportedOperationException.

Параметры:
certificates — List сертификатов Certificate
Возвращает:
CertPath, инициализированный предоставленным списком сертификатов
Выбрасывает:
CertificateException — если возникает исключение
UnsupportedOperationException — если метод не поддерживается
Начиная с версии:
1.4

engineGetCertPathEncodings

public Iterator<String> engineGetCertPathEncodings()
Возвращает итератор по кодировкам CertPath, поддерживаемым этой фабрикой сертификатов; кодировка по умолчанию указана первой. Сведения о стандартных именах кодировок см. в разделе «Кодировки CertPath» документа «Спецификация стандартных имён алгоритмов безопасности Java».

Попытки изменить возвращённый Iterator с помощью его метода remove приводят к UnsupportedOperationException.

Этот метод был добавлен в версию 1.4 Java 2 Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод не может быть abstract и по умолчанию выбрасывает UnsupportedOperationException.

Возвращает:
Iterator по именам поддерживаемых кодировок CertPath (в виде String)
Выбрасывает:
UnsupportedOperationException — если метод не поддерживается
Начиная с версии:
1.4
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java

engineGenerateCertificates

public abstract Collection<? extends Certificate> engineGenerateCertificates(InputStream inStream) throws CertificateException
Возвращает представление коллекции (возможно, пустой) сертификатов, прочитанных из заданного входного потока inStream.

Чтобы воспользоваться специализированным форматом сертификатов, поддерживаемым этой фабрикой сертификатов, каждый элемент возвращённого представления коллекции можно привести к соответствующему классу сертификата. Например, если эта фабрика сертификатов реализует сертификаты X.509, элементы возвращённой коллекции можно привести к классу X509Certificate.

Для фабрики сертификатов X.509 inStream может содержать один сертификат в кодировке DER в форматах, описанных для generateCertificate. Кроме того, inStream может содержать цепочку сертификатов PKCS#7. Это объект PKCS#7 SignedData, в котором значимым является только поле certificates. В частности, подпись и содержимое игнорируются. Этот формат позволяет загружать сразу несколько сертификатов. Если сертификатов нет, возвращается пустая коллекция.

Обратите внимание: если заданный входной поток не поддерживает mark и reset, этот метод прочитает весь входной поток.

Параметры:
inStream — входной поток с сертификатами.
Возвращает:
представление коллекции (возможно, пустой) объектов java.security.cert.Certificate, инициализированных данными из входного потока.
Выбрасывает:
CertificateException — при ошибках разбора.

engineGenerateCRL

public abstract CRL engineGenerateCRL(InputStream inStream) throws CRLException
Создаёт объект списка отзыва сертификатов (CRL) и инициализирует его данными, прочитанными из входного потока inStream.

Чтобы воспользоваться специализированным форматом CRL, поддерживаемым этой фабрикой сертификатов, возвращённый объект CRL можно привести к соответствующему классу CRL. Например, если эта фабрика сертификатов реализует CRL X.509, возвращённый объект CRL можно привести к классу X509CRL.

Обратите внимание: если заданный входной поток не поддерживает mark и reset, этот метод прочитает весь входной поток. В противном случае каждый вызов этого метода считывает один CRL, а позиция чтения входного потока устанавливается на следующий доступный байт после встроенного маркера конца CRL. Если данные во входном потоке не содержат встроенного маркера конца CRL (кроме EOF), а после разбора CRL остаются дополнительные данные, выбрасывается CRLException.

Параметры:
inStream — входной поток с данными CRL.
Возвращает:
объект CRL, инициализированный данными из входного потока.
Выбрасывает:
CRLException — при ошибках разбора.

engineGenerateCRLs

public abstract Collection<? extends CRL> engineGenerateCRLs(InputStream inStream) throws CRLException
Возвращает представление коллекции (возможно, пустой) CRL, прочитанных из заданного входного потока inStream.

Чтобы воспользоваться специализированным форматом CRL, поддерживаемым этой фабрикой сертификатов, каждый элемент возвращённого представления коллекции можно привести к соответствующему классу CRL. Например, если эта фабрика сертификатов реализует CRL X.509, элементы возвращённой коллекции можно привести к классу X509CRL.

Для фабрики сертификатов X.509 inStream может содержать один CRL в кодировке DER. Кроме того, inStream может содержать набор CRL PKCS#7. Это объект PKCS#7 SignedData, в котором значимым является только поле crls. В частности, подпись и содержимое игнорируются. Этот формат позволяет загружать сразу несколько CRL. Если CRL отсутствуют, возвращается пустая коллекция.

Обратите внимание: если заданный входной поток не поддерживает mark и reset, этот метод прочитает весь входной поток.

Параметры:
inStream — входной поток с CRL.
Возвращает:
представление коллекции (возможно, пустой) объектов java.security.cert.CRL, инициализированных данными из входного потока.
Выбрасывает:
CRLException — при ошибках разбора.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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