Класс 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 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- списокListCertificate - Возвращает:
- объект
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