Spec-Zone.ru › OpenJDK 17

Класс ChannelBinding

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

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

Использование связывания каналов в GSS-API является необязательным. ChannelBinding можно установить для 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); приложения, поэтому, не должны использовать конфиденциальные данные как компоненты связывания канала.

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

Since:
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()
Получение данных, указанных приложением, для данного связывания канала.
Возвращает:
данные приложения, используемые как часть ChannelBinding. null возвращается, если данные приложения не были указаны для связывания канала.

equals

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

hashCode

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

© 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.security.jgss/org/ietf/jgss/ChannelBinding.html

Spec-Zone.ru

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