Класс ChannelBinding
public class ChannelBinding extends Object
Вызывающая сторона, инициирующая контекст безопасности, должна определить подходящие значения привязки канала для установки в объект GSSContext. Принимающая сторона должна предоставить идентичную привязку, чтобы проверить, что полученные токены обладают корректными характеристиками, связанными с каналом.
Использование привязок каналов в GSS-API является необязательным. Привязку ChannelBinding можно установить для GSSContext с помощью метода setChannelBinding до первого вызова initSecContext или acceptSecContext. Если для установки ChannelBinding в объект GSSContext не использовался метод setChannelBinding, будет предполагаться, что используется null ChannelBinding.
Концептуально GSS-API объединяет информацию об адресах инициатора и принимающей стороны, а также предоставленный приложением массив байтов, чтобы сформировать строку октетов. Механизм вычисляет MIC для этой строки октетов и связывает MIC с токеном установления контекста, созданным методом initSecContext интерфейса GSSContext. Принимающая сторона контекста устанавливает те же привязки для своего объекта GSSContext, а при обработке метода acceptSecContext MIC вычисляется тем же способом. Вычисленный MIC сравнивается с MIC в токене; если MIC отличаются, метод accept выбрасывает исключение GSSException с основным кодом BAD_BINDINGS, и контекст не будет установлен. Некоторые механизмы могут включать в токен сами данные привязки канала, а не только MIC; поэтому приложениям не следует использовать конфиденциальные данные в качестве компонентов привязки канала.
Отдельные механизмы могут накладывать дополнительные ограничения на адреса, которые могут быть указаны в привязках каналов. Например, механизм может проверять, что поле адреса инициатора в привязке канала содержит правильный сетевой адрес хост-системы. Поэтому переносимым приложениям следует указывать корректную информацию в полях адресов или не задавать адресную информацию.
- Начиная с:
- 1.4
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ChannelBinding |
Создает объект ChannelBinding без адресной информации. |
ChannelBinding |
Создает объект ChannelBinding с адресной информацией и данными, предоставленными пользователем. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Сравнивает два экземпляра ChannelBinding. |
InetAddress |
getAcceptorAddress() |
Возвращает адрес принимающей стороны для этой привязки канала. |
byte[] |
getApplicationData() |
Возвращает данные, указанные приложением для этой привязки канала. |
InetAddress |
getInitiatorAddress() |
Возвращает адрес инициатора для этой привязки канала. |
int |
hashCode() |
Возвращает хеш-код этого объекта ChannelBinding. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного промежутка реального времени. |
Подробное описание конструкторов
ChannelBinding
public ChannelBinding(InetAddress initAddr, InetAddress acceptAddr, byte[] appData)
null.- Параметры:
-
initAddr— адрес инициатора контекста. Чтобы указать, что приложение не хочет задавать это значение, можно передать значениеnull. -
acceptAddr— адрес принимающей стороны контекста. Чтобы указать, что приложение не хочет задавать это значение, можно передать значениеnull. -
appData— данные, предоставленные приложением для использования в привязках каналов. Чтобы указать, что приложение не хочет задавать это значение, можно передать значениеnull.
ChannelBinding
public ChannelBinding(byte[] appData)
- Параметры:
-
appData— данные, предоставленные приложением для использования в привязках каналов.
Подробное описание методов
getInitiatorAddress
public InetAddress getInitiatorAddress()
- Возвращает:
- адрес инициатора. Если адрес не задан, возвращается
null.
getAcceptorAddress
public InetAddress getAcceptorAddress()
- Возвращает:
- адрес принимающей стороны. Если адрес не задан, возвращается null.
getApplicationData
public byte[] getApplicationData()
- Возвращает:
- данные приложения, используемые в составе ChannelBinding. Если для привязки канала не указаны данные приложения, возвращается
null.
equals
public boolean equals(Object obj)
hashCode
© 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.