Класс CertificateFactorySpi
public abstract class CertificateFactorySpi extends Object
CertificateFactory. Все абстрактные методы этого класса должны быть реализованы каждым поставщиком криптографических услуг, который хочет предоставить реализацию фабрики сертификатов для определённого типа сертификата, например X.509. Фабрики сертификатов используются для создания объектов сертификатов, путей сертификации (CertPath) и списков отзыва сертификатов (CRL) на основе их кодировок.
Фабрика сертификатов для X.509 должна возвращать сертификаты, являющиеся экземплярами java.security.cert.X509Certificate, и списки отзыва сертификатов, являющиеся экземплярами java.security.cert.X509CRL.
- С версии:
- 1.2
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
CertificateFactorySpi() |
Конструктор, вызываемый подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract Certificate |
engineGenerateCertificate |
Создаёт объект сертификата и инициализирует его данными, считанными из входного потока inStream. |
abstract Collection |
engineGenerateCertificates |
Возвращает представление коллекции (возможно, пустой) сертификатов, считанных из указанного входного потока inStream. |
CertPath |
engineGenerateCertPath |
Создаёт объект CertPath и инициализирует его данными, считанными из InputStream inStream. |
CertPath |
engineGenerateCertPath |
Создаёт объект CertPath и инициализирует его данными, считанными из InputStream inStream. |
CertPath |
engineGenerateCertPath |
Создаёт объект CertPath и инициализирует его List из Certificates. |
abstract CRL |
engineGenerateCRL |
Создаёт объект списка отзыва сертификатов (CRL) и инициализирует его данными, считанными из входного потока inStream. |
abstract Collection |
engineGenerateCRLs |
Возвращает представление коллекции (возможно, пустой) списков отзыва сертификатов, считанных из указанного входного потока 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 Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод нельзя abstract, и по умолчанию он выбрасывает UnsupportedOperationException.
- Параметры:
-
inStream-InputStream, содержащий данные - Возвращает:
- объект
CertPath, инициализированный данными изInputStream - Выбрасывает:
-
CertificateException- если при декодировании возникает исключение -
UnsupportedOperationException- если метод не поддерживается - С версии:
- 1.4
engineGenerateCertPath
public CertPath engineGenerateCertPath(InputStream inStream, String encoding) throws CertificateException
CertPath и инициализирует его данными, считанными из InputStream inStream. Предполагается, что данные представлены в указанной кодировке. Этот метод был добавлен в версию 1.4 Java 2 Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод нельзя abstract, и по умолчанию он выбрасывает UnsupportedOperationException.
- Параметры:
-
inStream-InputStream, содержащий данные -
encoding- кодировка, используемая для данных - Возвращает:
- объект
CertPath, инициализированный данными изInputStream - Выбрасывает:
-
CertificateException- если при декодировании возникает исключение или запрошенная кодировка не поддерживается -
UnsupportedOperationException- если метод не поддерживается - С версии:
- 1.4
engineGenerateCertPath
public CertPath engineGenerateCertPath(List<? extends Certificate> certificates) throws CertificateException
CertPath и инициализирует его List из Certificates. Предоставленные сертификаты должны иметь тип, поддерживаемый CertificateFactory. Они будут скопированы из предоставленного объекта List.
Этот метод был добавлен в версию 1.4 Java 2 Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод нельзя abstract, и по умолчанию он выбрасывает UnsupportedOperationException.
- Параметры:
-
certificates-ListизCertificates - Возвращает:
- объект
CertPath, инициализированный предоставленным списком сертификатов - Выбрасывает:
-
CertificateException- если возникает исключение -
UnsupportedOperationException- если метод не поддерживается - С версии:
- 1.4
engineGetCertPathEncodings
public Iterator<String> engineGetCertPathEncodings()
CertPath, поддерживаемых этой фабрикой сертификатов, начиная с кодировки по умолчанию. Сведения о стандартных названиях кодировок см. в разделе «Кодировки CertPath» спецификации стандартных названий алгоритмов Java Security. Попытки изменить возвращённый Iterator с помощью его метода remove приводят к UnsupportedOperationException.
Этот метод был добавлен в версию 1.4 Java 2 Platform Standard Edition. Для обеспечения обратной совместимости с существующими поставщиками услуг этот метод нельзя abstract, и по умолчанию он выбрасывает UnsupportedOperationException.
- Возвращает:
Iteratorпо названиям поддерживаемых кодировокCertPath(в видеStrings)- Выбрасывает:
-
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. Например, если эта фабрика сертификатов реализует списки CRL X.509, элементы возвращённой коллекции можно привести к классу X509CRL.
Для фабрики сертификатов X.509 inStream может содержать один CRL в кодировке DER. Кроме того, 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/cert/CertificateFactorySpi.html