Spec-Zone.ru › OpenJDK 25

Класс ChannelBinding

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

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

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

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

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.security.jgss/org/ietf/jgss/ChannelBinding.html

Spec-Zone.ru

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