Класс ChannelBinding
public class ChannelBinding extends Object
Вызывающая сторона, инициирующая контекст безопасности, должна определить подходящие значения привязки канала для задания в объекте GSSContext. Для проверки того, что полученные токены обладают корректными характеристиками, связанными с каналом, принимающая сторона должна предоставить идентичную привязку.
Использование привязок каналов в GSS-API необязательно. Привязку канала можно задать для 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; поэтому приложениям не следует использовать конфиденциальные данные в качестве компонентов привязки канала.
Отдельные механизмы могут накладывать дополнительные ограничения на адреса, которые могут присутствовать в привязках каналов. Например, механизм может проверять, что поле адреса инициатора в привязке канала содержит правильный сетевой адрес хост-системы. Поэтому переносимые приложения должны либо предоставлять корректную информацию в полях адресов, либо не задавать адресную информацию.
- С версии:
- 1.4
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ChannelBinding |
Создаёт объект ChannelBinding без какой-либо информации об адресах. |
ChannelBinding |
Создаёт объект ChannelBinding с предоставленными пользователем сведениями об адресах и данными. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Сравнивает два экземпляра ChannelBinding. |
InetAddress |
getAcceptorAddress() |
Возвращает адрес принимающей стороны для этой привязки канала. |
byte[] |
getApplicationData() |
Возвращает данные, заданные приложением для этой привязки канала. |
InetAddress |
getInitiatorAddress() |
Возвращает адрес инициатора для этой привязки канала. |
int |
hashCode() |
Возвращает хеш-код этого объекта ChannelBinding. |
Подробное описание конструкторов
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.security.jgss/org/ietf/jgss/ChannelBinding.html