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