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