Класс CertificateFactorySpi
public abstract class CertificateFactorySpi extends Object
CertificateFactory. Все абстрактные методы в этом классе должны быть реализованы каждым криптографическим поставщиком услуг, желающим предоставить реализацию фабрики сертификатов для определённого типа сертификата, например, X.509. Фабрики сертификатов используются для генерации объектов сертификата, цепочки сертификатов (CertPath) и списка отзыва сертификатов (CRL) из их кодировок.
Фабрика сертификатов для X.509 должна возвращать сертификаты, являющиеся экземплярами java.security.cert.X509Certificate, и CRL, являющиеся экземплярами java.security.cert.X509CRL.
- Since:
- 1.2
- See Also:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
CertificateFactorySpi() |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract Certificate |
engineGenerateCertificate |
Генерирует объект сертификата и инициализирует его данными, считанными из потока ввода inStream. |
abstract Collection |
engineGenerateCertificates |
Возвращает (возможно, пустой) набор представлений сертификатов, считанных из заданного потока ввода inStream. |
CertPath |
engineGenerateCertPath |
Генерирует объект CertPath и инициализирует его данными, считанными из потока ввода InputStream. |
CertPath |
engineGenerateCertPath |
Генерирует объект CertPath и инициализирует его данными, считанными из потока ввода InputStream. |
CertPath |
engineGenerateCertPath |
Генерирует объект CertPath и инициализирует его списком List объектов Certificate. |
abstract CRL |
engineGenerateCRL |
Генерирует объект списка отзыва сертификатов (CRL) и инициализирует его данными, считанными из потока ввода inStream. |
abstract Collection |
engineGenerateCRLs |
Возвращает (возможно, пустой) набор представлений CRL, считанных из заданного потока ввода inStream. |
Iterator |
engineGetCertPathEncodings() |
Возвращает итератор кодировок CertPath, поддерживаемых этой фабрикой сертификатов, причём кодировка по умолчанию указана первой. |
Подробное описание конструкторов
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 Standard Algorithm Names для получения информации о стандартных именах кодирования. Попытки изменить возвращённый итератор через его метод 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
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
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- поток ввода с CRL. - Возвращает:
- набор представлений (возможно, пустой) объектов java.security.cert.CRL, инициализированных данными из потока ввода.
- Исключение:
-
CRLException- при ошибках разбора.
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/security/cert/CertificateFactorySpi.html