Spec-Zone.ru › OpenJDK 27

Класс ChannelBinding

java.lang.Object
org.ietf.jgss.ChannelBinding
public class ChannelBinding extends Object
Этот класс инкапсулирует концепцию информации о привязке канала, предоставляемой вызывающей стороной. Привязки каналов используются для повышения качества аутентификации сущностей-пиров при установлении контекста. Они позволяют вызывающим сторонам GSS-API связать установление контекста безопасности с соответствующими характеристиками, такими как адреса или данные, относящиеся к приложению.

Вызывающая сторона, инициирующая контекст безопасности, должна определить подходящие значения привязки канала для установки в объект GSSContext. Принимающая сторона должна предоставить идентичную привязку, чтобы проверить, что полученные токены обладают корректными характеристиками, связанными с каналом.

Использование привязок каналов в GSS-API является необязательным. Привязку ChannelBinding можно установить для GSSContext с помощью метода setChannelBinding до первого вызова initSecContext или acceptSecContext. Если для установки ChannelBinding в объект GSSContext не использовался метод setChannelBinding, будет предполагаться, что используется null ChannelBinding.

Концептуально GSS-API объединяет информацию об адресах инициатора и принимающей стороны, а также предоставленный приложением массив байтов, чтобы сформировать строку октетов. Механизм вычисляет MIC для этой строки октетов и связывает MIC с токеном установления контекста, созданным методом initSecContext интерфейса GSSContext. Принимающая сторона контекста устанавливает те же привязки для своего объекта GSSContext, а при обработке метода acceptSecContext MIC вычисляется тем же способом. Вычисленный MIC сравнивается с MIC в токене; если MIC отличаются, метод accept выбрасывает исключение GSSException с основным кодом BAD_BINDINGS, и контекст не будет установлен. Некоторые механизмы могут включать в токен сами данные привязки канала, а не только MIC; поэтому приложениям не следует использовать конфиденциальные данные в качестве компонентов привязки канала.

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

Начиная с:
1.4

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

Конструктор Описание
ChannelBinding(byte[] appData)
Создает объект ChannelBinding без адресной информации.
ChannelBinding(InetAddress initAddr, InetAddress acceptAddr, byte[] appData)
Создает объект ChannelBinding с адресной информацией и данными, предоставленными пользователем.

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

Модификатор и тип Метод Описание
boolean equals(Object obj)
Сравнивает два экземпляра ChannelBinding.
InetAddress getAcceptorAddress()
Возвращает адрес принимающей стороны для этой привязки канала.
byte[] getApplicationData()
Возвращает данные, указанные приложением для этой привязки канала.
InetAddress getInitiatorAddress()
Возвращает адрес инициатора для этой привязки канала.
int hashCode()
Возвращает хеш-код этого объекта ChannelBinding.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного промежутка реального времени.

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

ChannelBinding

public ChannelBinding(InetAddress initAddr, InetAddress acceptAddr, byte[] appData)
Создает объект ChannelBinding с адресной информацией и данными, предоставленными пользователем. Для любых полей, которые приложение не хочет указывать, можно использовать значения null.
Параметры:
initAddr — адрес инициатора контекста. Чтобы указать, что приложение не хочет задавать это значение, можно передать значение null.
acceptAddr — адрес принимающей стороны контекста. Чтобы указать, что приложение не хочет задавать это значение, можно передать значение null.
appData — данные, предоставленные приложением для использования в привязках каналов. Чтобы указать, что приложение не хочет задавать это значение, можно передать значение null.

ChannelBinding

public ChannelBinding(byte[] appData)
Создает объект ChannelBinding без адресной информации.
Параметры:
appData — данные, предоставленные приложением для использования в привязках каналов.

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

getInitiatorAddress

public InetAddress getInitiatorAddress()
Возвращает адрес инициатора для этой привязки канала.
Возвращает:
адрес инициатора. Если адрес не задан, возвращается null.

getAcceptorAddress

public InetAddress getAcceptorAddress()
Возвращает адрес принимающей стороны для этой привязки канала.
Возвращает:
адрес принимающей стороны. Если адрес не задан, возвращается null.

getApplicationData

public byte[] getApplicationData()
Возвращает данные, указанные приложением для этой привязки канала.
Возвращает:
данные приложения, используемые в составе ChannelBinding. Если для привязки канала не указаны данные приложения, возвращается null.

equals

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

hashCode

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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