Spec-Zone.ru › OpenJDK 25

Класс 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, и списки отзыва сертификатов, являющиеся экземплярами 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 из Certificates.
abstract CRL engineGenerateCRL(InputStream inStream)
Создаёт объект списка отзыва сертификатов (CRL) и инициализирует его данными, считанными из входного потока inStream.
abstract Collection<? extends CRL> engineGenerateCRLs(InputStream inStream)
Возвращает представление коллекции (возможно, пустой) списков отзыва сертификатов, считанных из указанного входного потока inStream.
Iterator<String> engineGetCertPathEncodings()
Возвращает итерацию кодировок CertPath, поддерживаемых этой фабрикой сертификатов, начиная с кодировки по умолчанию.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

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 из Certificates.

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

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

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

engineGetCertPathEncodings

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

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

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

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/cert/CertificateFactorySpi.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API