|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class CertificateFactory extends Object
CertPath) и список аннулированных сертификатов (CRL) возражает от их кодировок. Для кодировок, состоящих из многократных сертификатов, использовать generateCertificates когда Вы хотите проанализировать набор возможно несвязанных сертификатов. Иначе, использовать generateCertPath когда Вы хотите генерировать a CertPath (цепочка сертификата), и впоследствии проверяют этого с a CertPathValidator.
Фабрика сертификата для X.509 должна возвратить сертификаты, которые являются экземпляром java.security.cert.X509Certificate, и CRL, которые являются экземпляром java.security.cert.X509CRL.
Следующий пример читает файл с Base64 закодированные сертификаты, которые каждый ограничиваются вначале-----, НАЧИНАЮТ СЕРТИФИКАТ-----, и ограниченный в конце СЕРТИФИКАТОМ КОНЦА---------. Мы преобразовываем FileInputStream (который не поддерживает mark и reset) к a BufferedInputStream (который поддерживает те методы), так, чтобы каждый звонок generateCertificate использует только один сертификат, и позиция чтения входного потока располагается в следующий сертификат в файле:
FileInputStream fis = new FileInputStream(filename);
BufferedInputStream bis = new BufferedInputStream(fis);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
while (bis.available() > 0) {
Certificate cert = cf.generateCertificate(bis);
System.out.println(cert.toString());
}
Следующий пример анализирует PKCS#7-formatted ответ сертификата, сохраненный в файле, и извлекает все сертификаты из него:
FileInputStream fis = new FileInputStream(filename);
CertificateFactory cf = CertificateFactory.getInstance("X.509");
Collection c = cf.generateCertificates(fis);
Iterator i = c.iterator();
while (i.hasNext()) {
Certificate cert = (Certificate)i.next();
System.out.println(cert);
}
Каждая реализация платформы Java обязана поддерживать следующий стандарт CertificateFactory введите:
CertPath кодировки: Certificate, X509Certificate, CertPath, CRL, X509CRL| Модификатор | Конструктор и Описание |
|---|---|
protected |
CertificateFactory(CertificateFactorySpi certFacSpi, Provider provider, String type)
Создает объект CertificateFactory данного типа, и инкапсулирует данную реализацию провайдера (объект SPI) в этом.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
Сертификат |
generateCertificate(InputStream inStream)
Генерирует объект сертификата и инициализирует это с данными, считанными из входного потока
inStream. |
Collection<? extends Certificate> |
generateCertificates(InputStream inStream)
Возвращается (возможно пустой) представление набора сертификатов, считанных из данного входного потока
inStream. |
CertPath |
generateCertPath(InputStream inStream)
Генерирует a
CertPath возразите и инициализирует это с данными, считанными из InputStream inStream. |
CertPath |
generateCertPath(InputStream inStream, String encoding)
Генерирует a
CertPath возразите и инициализирует это с данными, считанными из InputStream inStream. |
CertPath |
generateCertPath(List<? extends Certificate> certificates)
Генерирует a
CertPath возразите и инициализирует это с a List из Certificates. |
CRL |
generateCRL(InputStream inStream)
Генерирует список аннулированных сертификатов объект (CRL) и инициализирует это с данными, считанными из входного потока
inStream. |
Collection<? extends CRL> |
generateCRLs(InputStream inStream)
Возвращается (возможно пустой) представление набора CRL, считанных из данного входного потока
inStream. |
Iterator<String> |
getCertPathEncodings()
Возвращает итерацию
CertPath кодировки, поддерживаемые этой фабрикой сертификата, с кодировкой по умолчанию сначала. |
static CertificateFactory |
getInstance(String type)
Возвращается фабрика сертификата возражают, что реализует указанный тип сертификата.
|
static CertificateFactory |
getInstance(String type, Provider provider)
Возвращает объект фабрики сертификата для указанного типа сертификата.
|
static CertificateFactory |
getInstance(String type, String provider)
Возвращает объект фабрики сертификата для указанного типа сертификата.
|
Провайдер |
getProvider()
Возвращает провайдера этой фабрики сертификата.
|
Строка |
getType()
Возвращает имя типа сертификата, связанного с этой фабрикой сертификата.
|
protected CertificateFactory(CertificateFactorySpi certFacSpi, Provider provider, String type)
certFacSpi - реализация провайдера.provider - провайдер.type - тип сертификата.public static final CertificateFactory getInstance(String type) throws CertificateException
Этот метод пересекает список зарегистрированных поставщиков систем обеспечения безопасности, запускающихся с самого привилегированного Провайдера. Возвращается новый объект CertificateFactory инкапсуляция реализации CertificateFactorySpi от первого Провайдера, который поддерживает указанный тип.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
type - имя требуемого типа сертификата. См. раздел CertificateFactory в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных типах сертификата.CertificateException - если никакой Провайдер не поддерживает реализацию CertificateFactorySpi для указанного типа.Providerpublic static final CertificateFactory getInstance(String type, String provider) throws CertificateException, NoSuchProviderException
Возвращается новый объект CertificateFactory инкапсуляция реализации CertificateFactorySpi от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке поставщика систем обеспечения безопасности.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
type - тип сертификата. См. раздел CertificateFactory в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных типах сертификата.provider - имя провайдера.CertificateException - если реализация CertificateFactorySpi для указанного алгоритма не доступна от указанного провайдера.NoSuchProviderException - если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасности.IllegalArgumentException - если имя провайдера является нулем или пустой.Providerpublic static final CertificateFactory getInstance(String type, Provider provider) throws CertificateException
Возвращается новый объект CertificateFactory инкапсуляция реализации CertificateFactorySpi от указанного объекта Провайдера. Отметьте, что указанный объект Провайдера не должен быть зарегистрирован в списке провайдера.
type - тип сертификата. См. раздел CertificateFactory в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных типах сертификата.provider - провайдер.CertificateException - если реализация CertificateFactorySpi для указанного алгоритма не доступна от указанного объекта Провайдера.IllegalArgumentException - если provider нуль.Providerpublic final Provider getProvider()
public final String getType()
public final Certificate generateCertificate(InputStream inStream) throws CertificateException
inStream. Чтобы использовать в своих интересах специализированный формат сертификата, поддерживаемый этой фабрикой сертификата, возвращенный объект сертификата может быть преобразован тип к соответствующему сертификату class. Например, если эта фабрика сертификата реализует сертификаты X.509, возвращенный объект сертификата может быть преобразован тип к X509Certificate class.
В случае фабрики сертификата для сертификатов X.509, сертификат, обеспеченный в inStream должен быть DER-закодирован и может быть предоставлен в двоичном или печатаемом (Base64) кодирование. Если сертификат обеспечивается в кодировании Base64, он должен быть ограничен вначале-----, НАЧИНАЮТ СЕРТИФИКАТ-----, и должен быть ограничен в конце СЕРТИФИКАТОМ КОНЦА---------.
Отметьте это, если данный входной поток не поддерживает mark и reset, этот метод использует весь входной поток. Иначе, каждый звонок в этот метод использует один сертификат, и позиция чтения входного потока располагается в следующий доступный байт после свойственного маркера конца сертификата. Если данные во входном потоке не содержат свойственный маркер конца сертификата (кроме EOF) и там запаздывают данные после того, как сертификат анализируется, a CertificateException бросается.
inStream - входной поток с данными сертификата.CertificateException - при парсинге ошибок.public final Iterator<String> getCertPathEncodings()
CertPath кодировки, поддерживаемые этой фабрикой сертификата, с кодировкой по умолчанию сначала. См. раздел Кодировок CertPath в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах кодирования и их форматах. Попытки изменить возвращенный Iterator через remove результат метода в UnsupportedOperationException.
Iterator по именам поддерживаемого CertPath кодировки (как Strings)public final CertPath generateCertPath(InputStream inStream) throws CertificateException
CertPath возразите и инициализирует это с данными, считанными из InputStream inStream. Данные, как предполагается, находятся в кодировке по умолчанию. Имя кодировки по умолчанию является первым элементом Iterator возвращенный getCertPathEncodings метод.inStream - InputStream содержа данныеCertPath инициализированный с данными от InputStreamCertificateException - если исключение происходит, декодируяpublic final CertPath generateCertPath(InputStream inStream, String encoding) throws CertificateException
CertPath возразите и инициализирует это с данными, считанными из InputStream inStream. Данные, как предполагается, находятся в указанном кодировании. См. раздел Кодировок CertPath в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах кодирования и их форматах.inStream - InputStream содержа данныеencoding - кодирование используется для данныхCertPath инициализированный с данными от InputStreamCertificateException - если исключение происходит, декодируя, или кодирование, которое требуют, не поддерживаетсяpublic final CertPath generateCertPath(List<? extends Certificate> certificates) throws CertificateException
CertPath возразите и инициализирует это с a List из Certificates. Предоставленные сертификаты должны иметь тип, поддерживаемый CertificateFactory. Они будут скопированы из предоставленного List объект.
certificates - a List из CertificatesCertPath инициализированный с предоставленным списком сертификатовCertificateException - если исключение происходитpublic final Collection<? extends Certificate> generateCertificates(InputStream inStream) throws CertificateException
inStream. Чтобы использовать в своих интересах специализированный формат сертификата, поддерживаемый этой фабрикой сертификата, каждый элемент в возвращенном представлении набора может быть преобразован тип к соответствующему сертификату class. Например, если эта фабрика сертификата реализует сертификаты X.509, элементы в возвращенном наборе могут быть преобразованы тип к X509Certificate class.
В случае фабрики сертификата для сертификатов X.509, inStream может содержать последовательность DER-закодированных сертификатов в форматах, описанных для generateCertificate. Кроме того, inStream может содержать PKCS#7 цепочка сертификата. Это PKCS#7 объект SignedData с единственным существенным полем, являющимся сертификатами. В частности подпись и содержание игнорируются. Этот формат позволяет многократным сертификатам быть загруженными сразу. Если никакие сертификаты не присутствуют, пустой набор возвращается.
Отметьте это, если данный входной поток не поддерживает mark и reset, этот метод использует весь входной поток.
inStream - входной поток с сертификатами.CertificateException - при парсинге ошибок.public final CRL generateCRL(InputStream inStream) throws CRLException
inStream. Чтобы использовать в своих интересах специализированный формат CRL, поддерживаемый этой фабрикой сертификата, возвращенный объект CRL может быть преобразован тип к соответствующему CRL class. Например, если эта фабрика сертификата реализует CRL X.509, возвращенный объект CRL может быть преобразован тип к X509CRL class.
Отметьте это, если данный входной поток не поддерживает mark и reset, этот метод использует весь входной поток. Иначе, каждый звонок в этот метод использует один CRL, и позиция чтения входного потока располагается в следующий доступный байт после свойственного маркера конца CRL. Если данные во входном потоке не содержат свойственный маркер конца CRL (кроме EOF) и там запаздывают данные после того, как CRL анализируется, a CRLException бросается.
inStream - входной поток с данными CRL.CRLException - при парсинге ошибок.public final Collection<? extends CRL> generateCRLs(InputStream inStream) throws CRLException
inStream. Чтобы использовать в своих интересах специализированный формат CRL, поддерживаемый этой фабрикой сертификата, каждый элемент в возвращенном представлении набора может быть преобразован тип к соответствующему CRL class. Например, если эта фабрика сертификата реализует CRL X.509, элементы в возвращенном наборе могут быть преобразованы тип к X509CRL class.
В случае фабрики сертификата для CRL X.509, inStream может содержать последовательность DER-закодированных CRL. Кроме того, inStream может содержать PKCS#7 набор CRL. Это PKCS#7 объект SignedData с единственным существенным полем, являющимся crls. В частности подпись и содержание игнорируются. Этот формат позволяет многократным CRL быть загруженными сразу. Если никакие CRL не присутствуют, пустой набор возвращается.
Отметьте это, если данный входной поток не поддерживает mark и reset, этот метод использует весь входной поток.
inStream - входной поток с CRL.CRLException - при парсинге ошибок.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92