Spec-Zone.ru › OpenJDK 8

Класс 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 связывание каналов.

Концептуально, GSS-API конкатенирует информацию об адресах инициатора и приёмника, а также предоставленный приложению массив байтов, формируя строку октетов. Механизм вычисляет MIC над этой строкой октетов и связывает MIC с токеном установления контекста, выпущенным методом initSecContext интерфейса GSSContext. Те же связывания устанавливаются приёмником контекста для его объекта GSSContext и во время обработки метода acceptSecContext, MIC вычисляется аналогичным образом. Вычисленный MIC сравнивается с MIC, найденным в токенe, и если MIC отличаются, приёмник выбросит исключение GSSException с кодом ошибки major, установленным в 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.

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

hashCode

public int hashCode()

Возвращает значение хэш-кода для этого объекта ChannelBinding.

Переопределяет:
hashCode в классе Object
Возвращает:
значение hashCode
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

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