Класс 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
См. также:
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 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 для информации о стандартных именах кодирования.

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

Возвращает (возможно пустой) набор списков отзыва сертификатов (CRLs), прочитанных из данного потока ввода 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 - поток ввода со списками отзыва сертификатов.
Возвращает:
(возможно пустой) набор объектов java.security.cert.CRL, инициализированных данными из потока ввода.
Выбрасывает:
CRLException - при ошибках разбора.

© 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/CertificateFactorySpi.html

Spec-Zone .ru
спецификации, руководства, описания, API