Spec-Zone.ru › OpenJDK 8

Класс CodeSource

  • java.lang.Object
    • java.security.CodeSource
Все реализованные интерфейсы:
Serializable

public class CodeSource
extends Object
implements Serializable

Этот класс расширяет концепцию кодовой базы, чтобы encapsulate не только расположение (URL), но также цепочки сертификатов, которые использовались для проверки подписанного кода, происходящего из этого расположения.

См. также:
Сериализованная форма

Конструкторы

Конструктор и описание
CodeSource(URL url, Certificate[] certs)

Создает CodeSource и связывает его с указанным расположением и набором сертификатов.

CodeSource(URL url, CodeSigner[] signers)

Создает CodeSource и связывает его с указанным расположением и набором подписывающих кода.

Методы

Модификатор и тип Метод и описание
boolean equals(Object obj)

Проверяет равенство указанного объекта и этого объекта.

Certificate[] getCertificates()

Возвращает сертификаты, связанные с этим CodeSource.

CodeSigner[] getCodeSigners()

Возвращает подписывающие кода, связанные с этим CodeSource.

URL getLocation()

Возвращает расположение, связанное с этим CodeSource.

int hashCode()

Возвращает значение хэша для этого объекта.

boolean implies(CodeSource codesource)

Возвращает true, если этот объект CodeSource "предполагает" указанный CodeSource.

String toString()

Возвращает строку, описывающую этот CodeSource, указывающую его URL и сертификаты.

Методы, унаследованные от класса java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Конструкторы

CodeSource

public CodeSource(URL url,
                  Certificate[] certs)

Создает CodeSource и связывает его с указанным расположением и набором сертификатов.

Параметры:
url - расположение (URL).
certs - сертификат(ы). Может быть null. Содержимое массива копируется для защиты от последующих изменений.

CodeSource

public CodeSource(URL url,
                  CodeSigner[] signers)

Создает CodeSource и связывает его с указанным расположением и набором подписывающих кода.

Параметры:
url - расположение (URL).
signers - подписывающие кода. Может быть null. Содержимое массива копируется для защиты от последующих изменений.
Since:
1.5

Методы

hashCode

public int hashCode()

Возвращает значение хэша для этого объекта.

Overrides:
hashCode в классе Object
Возвращает:
значение хэша для этого объекта.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

equals

public boolean equals(Object obj)

Проверяет равенство указанного объекта и этого объекта. Два объекта CodeSource считаются равными, если их расположения имеют одинаковое значение и если их цепочки сертификатов имеют одинаковое значение. Не требуется, чтобы цепочки сертификатов были в том же порядке.

Overrides:
equals в классе Object
Параметры:
obj - объект для проверки равенства с этим объектом.
Возвращает:
true, если объекты считаются равными, иначе false.
См. также:
Object.hashCode(), HashMap

getLocation

public final URL getLocation()

Возвращает расположение, связанное с этим CodeSource.

Возвращает:
расположение (URL).

getCertificates

public final Certificate[] getCertificates()

Возвращает сертификаты, связанные с этим CodeSource.

Если этот объект CodeSource был создан с помощью конструктора CodeSource(URL url, CodeSigner[] signers), то его цепочки сертификатов извлекаются и используются для создания массива объектов Certificate. Каждый сертификат подписи сопровождается цепочкой поддерживающих сертификатов (которая может быть пустой). Каждый сертификат подписи и его поддерживающая цепочка сертификатов упорядочиваются снизу вверх (т.е. с сертификатом подписи первым и сертификатом (корневого) удостоверяющего центра последним).

Возвращает:
Копия массива сертификатов или null, если его нет.

getCodeSigners

public final CodeSigner[] getCodeSigners()

Возвращает подписывающие кода, связанные с этим CodeSource.

Если этот объект CodeSource был создан с помощью конструктора CodeSource(URL url, java.security.cert.Certificate[] certs), то его цепочки сертификатов извлекаются и используются для создания массива объектов CodeSigner. Обратите внимание, что рассматриваются только сертификаты X.509 — все другие типы сертификатов игнорируются.

Возвращает:
Копия массива подписывающих кода или null, если его нет.
Since:
1.5

implies

public boolean implies(CodeSource codesource)

Возвращает true, если этот объект CodeSource "предполагает" указанный CodeSource.

Более конкретно, этот метод выполняет следующие проверки. Если какая-либо из них завершается неудачей, возвращается false. Если все они завершаются успешно, возвращается true.

  • codesource не должен быть null.
  • Если сертификаты этого объекта не null, то все сертификаты этого объекта должны присутствовать в сертификатах codesource.
  • Если расположение (getLocation()) этого объекта не null, то выполняются следующие проверки по расположению этого объекта и codesource:
    • Расположение codesource не должно быть null.
    • Если расположение этого объекта равно расположению codesource, то возвращается true.
    • Протокол этого объекта (getLocation().getProtocol()) должен быть равен протоколу codesource, игнорируя регистр.
    • Если хост этого объекта (getLocation().getHost()) не null, то SocketPermission, созданный с хостом этого объекта, должен подразумевать SocketPermission, созданный с хостом codesource.
    • Если порт этого объекта (getLocation().getPort()) не равен -1 (то есть, если порт указан), он должен быть равен порту codesource или порту по умолчанию (codesource.getLocation().getDefaultPort()).
    • Если файл (getLocation().getFile()) этого объекта не равен файлу codesource, то выполняются следующие проверки: если файл этого объекта заканчивается на "/-", то файл codesource должен начинаться с файла этого объекта (исключая заключительный "-"). Если файл этого объекта заканчивается на "/*", то файл codesource должен начинаться с файла этого объекта и не должен содержать никаких дополнительных разделителей "/". Если файл этого объекта не заканчивается на "/", то файл codesource должен совпадать с файлом этого объекта с добавленным '/'.
    • Если ссылка (getLocation().getRef()) этого объекта не null, она должна быть равна ссылке codesource.

Например, объекты codesource с указанными расположениями и null цепочками сертификатов все предполагают объект codesource с расположением "http://java.sun.com/classes/foo.jar" и null цепочкой сертификатов:

http:
     http://*.sun.com/classes/*
     http://java.sun.com/classes/-
     http://java.sun.com/classes/foo.jar
Обратите внимание, что если у этого CodeSource null расположение и null цепочка сертификатов, то он предполагает все остальные CodeSource.
Параметры:
codesource - CodeSource для сравнения.
Возвращает:
true, если указанный codesource подразумевается этим codesource, false, если нет.

toString

public String toString()

Возвращает строку, описывающую этот CodeSource, указывающую его URL и сертификаты.

Overrides:
toString в классе Object
Возвращает:
информация об этом CodeSource.

© 1993, 2020, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API