|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class CertPath extends Object implements Serializable
Это - абстрактный class, который определяет методы, характерные для всех CertPaths. Подклассы могут обработать различные виды сертификатов (X.509, PGP, и т.д.).
Все CertPath у объектов есть тип, список Certificates, и один или более поддерживаемые кодировки. Поскольку CertPath class является неизменным, a CertPath не может измениться никаким внешне видимым способом, будучи созданным. Это соглашение применяется ко всем общедоступным полям и методам этого class, и любой добавил или переопределенный подклассами.
Тип является a String это идентифицирует тип Certificates в пути сертификации. Для каждого сертификата cert в пути сертификации certPath, cert.getType().equals(certPath.getType()) должен быть true.
Список Certificates является упорядоченным List из нуля или больше Certificates. Это List и весь из Certificates содержавшийся в этом должно быть неизменным.
Каждый CertPath объект должен поддерживать одни или более кодировок так, чтобы объект мог быть преобразован в байтовый массив для хранения или передачи к другим сторонам. Предпочтительно, эти кодировки должны быть хорошо задокументированными стандартами (такой как PKCS#7). Одни из кодировок поддерживаются a CertPath считается кодировкой по умолчанию. Это кодирование используется, если никакое кодирование явно не требуют (для getEncoded() метод, например).
Все CertPath объекты также Serializable. CertPath объекты разрешаются в альтернативу CertPathRep объект во время сериализации. Это позволяет a CertPath объект, который будет сериализирован в эквивалентное представление независимо от его базовой реализации.
CertPath объекты могут быть созданы с a CertificateFactory или они могут быть возвращены другими классами, такими как a CertPathBuilder.
Условно, X.509 CertPaths (состоящий из X509Certificates), упорядочиваются, запускаясь с целевого сертификата и заканчиваясь сертификатом, выпущенным доверительной привязкой. Таким образом, выпускающий одного сертификата является предметом следующего. Сертификат, представляющий TrustAnchor не должен быть включен в путь сертификации. Непроверенный X.509 CertPaths, возможно, не следует за этими соглашениями. PKIX CertPathValidators обнаружит любое отклонение от этих соглашений, которые заставляют путь сертификации быть недопустимым и бросить a CertPathValidatorException.
Каждая реализация платформы Java обязана поддерживать следующий стандарт CertPath кодировки:
Параллельный Доступ
Все CertPath объекты должны быть ориентированы на многопотоковое исполнение. Таким образом, многократные потоки могут одновременно вызвать методы, определенные в этом class на сингле CertPath объект (или больше чем один) без вредных воздействий. Это - также истина для List возвращенный CertPath.getCertificates.
Требование CertPath объекты быть неизменным и ориентированный на многопотоковое исполнение позволяют им быть розданными к различным частям кода, не волнуясь о координировании доступа. Обеспечение этой потокобезопасности является обычно не трудным, начиная с CertPath и List рассматриваемые объекты являются неизменными.
CertificateFactory, CertPathBuilder, Сериализированная Форма| Модификатор и Тип | Класс и Описание |
|---|---|
protected static class |
CertPath. CertPathRep
Альтернатива
CertPath class для сериализации. |
| Модификатор | Конструктор и Описание |
|---|---|
protected |
CertPath(String type)
Создает a
CertPath из указанного типа. |
| Модификатор и Тип | Метод и Описание |
|---|---|
boolean |
equals(Object other)
Сравнивает этот путь сертификации для равенства с указанным объектом.
|
abstract List<? extends Certificate> |
getCertificates()
Возвращает список сертификатов в этом пути сертификации.
|
abstract byte[] |
getEncoded()
Возвращает закодированную форму этого пути сертификации, используя кодировку по умолчанию.
|
abstract byte[] |
getEncoded(String encoding)
Возвращает закодированную форму этого пути сертификации, используя указанное кодирование.
|
abstract Iterator<String> |
getEncodings()
Возвращает итерацию кодировок, поддерживаемых этим путем сертификации, с кодировкой по умолчанию сначала.
|
Строка |
getType()
Возвращает тип
Certificates в этом пути сертификации. |
int |
hashCode()
Возвращает хэш-код для этого пути сертификации.
|
Строка |
toString()
Возвращает строковое представление этого пути сертификации.
|
protected Object |
writeReplace()
Замены
CertPath быть сериализированным с a CertPathRep объект. |
protected CertPath(String type)
CertPath из указанного типа. Этот конструктор защищается, потому что большинство пользователей должно использовать a CertificateFactory создать CertPaths.
type - стандартное имя типа Certificates в этом путиpublic String getType()
Certificates в этом пути сертификации. Это - та же самая строка, которая была бы возвращена cert.getType() для всех Certificates в пути сертификации.Certificates в этом пути сертификации (никогда нуль)public abstract Iterator<String> getEncodings()
Iterator через remove результат метода в UnsupportedOperationException.Iterator по именам поддерживаемых кодировок (как Строки)public boolean equals(Object other)
CertPaths равны, если и только если их типы равны и их сертификат Lists (и косвенно Certificates в тех Lists) равны. A CertPath никогда не равно объекту, который не является a CertPath. Этот алгоритм реализуется этим методом. Если это переопределяется, поведение, определенное здесь, должно сохраняться.
equals в class Objectother - объект протестировать на равенство с этим путем сертификацииObject.hashCode(), HashMappublic int hashCode()
hashCode = path.getType().hashCode();
hashCode = 31*hashCode + path.getCertificates().hashCode();
Это гарантирует это path1.equals(path2) подразумевает это path1.hashCode()==path2.hashCode() для любых двух путей сертификации, path1 и path2, как требуется согласно общему контракту Object.hashCode.hashCode в class ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public String toString()
toString метод на каждом из Certificates в пути.public abstract byte[] getEncoded()
throws CertificateEncodingException
CertificateEncodingException - если ошибка кодирования происходитpublic abstract byte[] getEncoded(String encoding) throws CertificateEncodingException
encoding - имя кодирования, чтобы использоватьCertificateEncodingException - если ошибка кодирования происходит, или кодирование, которое требуют, не поддерживаетсяpublic abstract List<? extends Certificate> getCertificates()
List возвращенный должно быть неизменным и ориентированным на многопотоковое исполнение.List из Certificates (может быть пустым, но не нулевым),protected Object writeReplace() throws ObjectStreamException
CertPath быть сериализированным с a CertPathRep объект.CertPathRep быть сериализированнымObjectStreamException - если a CertPathRep объект, представляющий этот путь сертификации, не мог быть создан
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92