Spec-Zone.ru › OpenJDK 8

Класс 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
См. также:
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. Данные предполагаются в кодировке по умолчанию.

Этот метод был добавлен в версию 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. Данные предполагаются в указанной кодировке.

Этот метод был добавлен в версию 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 Cryptography для получения информации о стандартных именах кодировок.

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

Возвращает (возможно пустую) коллекцию списков отозванных сертификатов (CRLs), считанных из указанного потока ввода inStream.

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

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

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

Параметры:
inStream - поток ввода со списками CRL.
Возвращает:
(возможно пустую) коллекцию объектов 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.

Spec-Zone.ru

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