Класс CodeSource
- Все реализуемые интерфейсы:
Serializable
public class CodeSource extends Object implements Serializable
Этот класс расширяет концепцию кодовой базы, чтобы включать не только местоположение (URL), но и цепочки сертификатов, которые использовались для проверки подписанного кода, происходящего из этого местоположения.
- С:
- 1.2
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
CodeSource |
Создает объект CodeSource и связывает его с указанным местоположением и набором сертификатов. |
CodeSource |
Создает объект CodeSource и связывает его с указанным местоположением и набором подписывающих кода. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Проверяет равенство указанного объекта и этого объекта. |
final Certificate[] |
getCertificates() |
Возвращает сертификаты, связанные с этим объектом CodeSource. |
final CodeSigner[] |
getCodeSigners() |
Возвращает подписывающих кода, связанные с этим объектом CodeSource. |
final URL |
getLocation() |
Возвращает местоположение, связанное с этим объектом CodeSource. |
int |
hashCode() |
Возвращает значение хэш-кода для этого объекта. |
boolean |
implies |
Возвращает true, если этот объект CodeSource "подразумевает" указанный объект CodeSource. |
String |
toString() |
Возвращает строку, описывающую этот объект CodeSource, указывающую его URL и сертификаты. |
Подробное описание конструкторов
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. Содержимое массива копируется для защиты от последующих изменений. - С:
- 1.5
Подробное описание методов
hashCode
public int hashCode()
- Overrides:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
equals
public boolean equals(Object obj)
CodeSource считаются равными, если их местоположения имеют одинаковое значение, и если их цепочки сертификатов подписывающих кода имеют одинаковое значение. Не требуется, чтобы цепочки сертификатов были в одном и том же порядке.- Overrides:
-
equalsв классеObject - Параметры:
-
obj- объект для проверки на равенство с этим объектом. - Возвращает:
-
trueесли объекты считаются равными,falseв противном случае. - См. также:
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если его нет. - С:
- 1.5
implies
public boolean implies(CodeSource codesource)
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 и сертификаты.- Overrides:
-
toStringв классеObject - Возвращает:
- информацию об этом объекте
CodeSource.
© 1993, 2023, 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/21/docs/api/java.base/java/security/CodeSource.html