Spec-Zone.ru › OpenJDK 17

Класс 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 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 кодировок, поддерживаемых этой фабрикой сертификатов, с первой — по умолчанию.

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

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

engineGetCertPathEncodings

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

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

Этот метод был добавлен в версию 1.4 Java 2 Platform 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, этот метод прочитает весь поток ввода.

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

© 1993, 2021, 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/17/docs/api/java.base/java/security/cert/CertificateFactorySpi.html

Spec-Zone.ru

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