Spec-Zone.ru › OpenJDK 21

Класс 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 над этой строкой байтов и привязывает 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, 2023, 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/21/docs/api/java.security.jgss/org/ietf/jgss/ChannelBinding.html

Spec-Zone.ru

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