Класс ChannelBinding
public class ChannelBinding extends Object
Вызывающая сторона, инициирующая защищённый контекст, должна определить подходящие значения привязки канала, которые необходимо установить в объекте GSSContext. Приёмник должен предоставить идентичную привязку для проверки того, что полученные токены обладают правильными характеристиками, связанными с каналом.
Использование привязок каналов является необязательным в GSS-API. ChannelBinding может быть установлен для GSSContext с помощью метода setChannelBinding перед первым вызовом initSecContext или acceptSecContext. Если метод setChannelBinding не был использован для установки ChannelBinding для объекта GSSContext, предполагается null ChannelBinding.
В концептуальном плане GSS-API конкатенирует информацию об адресах инициатора и получателя, а также предоставленный прикладной стороной массив байтов, чтобы сформировать строку байтов. Механизм вычисляет MIC (Message Integrity Code) над этой строкой байтов и связывает 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()
- Возвращает:
- данные приложения, используемые в качестве части связывания канала.
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://download.java.net/java/early_access/jdk24/docs/api/java.security.jgss/org/ietf/jgss/ChannelBinding.html