Spec-Zone.ru › OpenJDK 17

Класс CodeSource

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

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

C тех пор:
1.2
См. также:
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
CodeSource(URL url, Certificate[] certs)
Создает CodeSource и связывает его с указанным местоположением и набором сертификатов.
CodeSource(URL url, CodeSigner[] signers)
Создает CodeSource и связывает его с указанным местоположением и набором подписывающих кода.

Краткое описание методов

Модификатор и тип Метод Описание
boolean equals(Object obj)
Проверяет равенство указанного объекта и этого объекта.
final Certificate[] getCertificates()
Возвращает сертификаты, связанные с этим CodeSource.
final CodeSigner[] getCodeSigners()
Возвращает подписывающих кода, связанные с этим CodeSource.
final 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). Может быть null.
certs - сертификат(ы). Может быть null. Содержимое массива копируется для защиты от последующего изменения.

CodeSource

public CodeSource(URL url, CodeSigner[] signers)
Создает CodeSource и связывает его с указанным местоположением и набором подписывающих кода.
Параметры:
url - местоположение (URL). Может быть null.
signers - подписывающие кода. Может быть null. Содержимое массива копируется для защиты от последующего изменения.
C тех пор:
1.5

Подробное описание методов

hashCode

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

equals

public boolean equals(Object obj)
Проверяет равенство указанного объекта и этого объекта. Два объекта CodeSource считаются равными, если их местоположения имеют идентичное значение, и если их цепочки сертификатов подписывающих кода имеют идентичное значение. Не требуется, чтобы цепочки сертификатов были в одном и том же порядке.
Переопределяет:
equals в классе Object
Параметры:
obj - объект для проверки на равенство с этим объектом.
Возвращает:
true, если объекты считаются равными, false в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

getLocation

public final URL getLocation()
Возвращает местоположение, связанное с этим CodeSource.
Возвращает:
местоположение (URL) или null если при создании не было указано 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 если он отсутствует.
C тех пор:
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://www.example.com/classes/foo.jar" и null-цепочками сертификатов:

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

toString

public String toString()
Возвращает строку, описывающую этот CodeSource, с указанием его URL и сертификатов.
Переопределяет:
toString в классе Object
Возвращает:
информация об этом CodeSource.

© 1993, 2021, 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/17/docs/api/java.base/java/security/CodeSource.html

Spec-Zone.ru

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