Spec-Zone.ru › OpenJDK 24

Класс ChannelBinding

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

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

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

В концептуальном плане GSS-API конкатенирует информацию об адресах инициатора и получателя, а также предоставленный прикладной стороной массив байтов, чтобы сформировать строку байтов. Механизм вычисляет MIC (Message Integrity Code) над этой строкой байтов и связывает 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.

Методы, объявленные в классе java.lang.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()
Получить данные, указанные приложением, для этого связывания канала.
Возвращает:
данные приложения, используемые в качестве части связывания канала. 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(java.lang.Object)

© 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://download.java.net/java/early_access/jdk24/docs/api/java.security.jgss/org/ietf/jgss/ChannelBinding.html

Spec-Zone.ru

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