Spec-Zone.ru › OpenJDK 24

Класс 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.

Since:
1.2
See Also:
  • 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.
CertPath engineGenerateCertPath(InputStream inStream, String encoding)
Генерирует объект CertPath и инициализирует его данными, считанными из потока ввода InputStream.
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, поддерживаемых этой фабрикой сертификатов, причём кодировка по умолчанию указана первой.

Методы, унаследованные от класса java.lang.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 Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг, этот метод не может быть abstract и по умолчанию выбрасывает исключение UnsupportedOperationException.

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

engineGenerateCertPath

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

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

Параметры:
inStream - поток ввода, содержащий данные
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 Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг, этот метод не может быть abstract и по умолчанию выбрасывает исключение UnsupportedOperationException.

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

engineGetCertPathEncodings

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

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

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

Возвращает:
итератор по именам поддерживаемых кодировок CertPath (как строки String)
Изначает исключения:
UnsupportedOperationException - если метод не поддерживается
С:
1.4

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. Например, если этот фабричный объект сертификатов реализует X.509 CRL, элементы в возвращаемом наборе могут быть приведён к типу класса X509CRL.

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

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

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/security/cert/CertificateFactorySpi.html

Spec-Zone.ru

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