Spec-Zone.ru › OpenJDK 27

Интерфейс ExtendedGSSContext

Все суперинтерфейсы:
GSSContext
public interface ExtendedGSSContext extends GSSContext
Расширенный интерфейс GSSContext для поддержки дополнительных функций, не определённых в org.ietf.jgss.GSSContext, например запросов атрибутов, относящихся к контексту.
Начиная с:
1.7

Краткое описание полей

Поля, объявленные в интерфейсе GSSContext

DEFAULT_LIFETIME, INDEFINITE_LIFETIME
Модификатор и тип Поле Описание
static final int DEFAULT_LIFETIME
Константа времени жизни, представляющая время жизни контекста по умолчанию.
static final int INDEFINITE_LIFETIME
Константа времени жизни, представляющая неограниченное время жизни контекста.

Краткое описание методов

Модификатор и тип Метод Описание
boolean getDelegPolicyState()
Возвращает результат проверки политики делегирования.
Object inquireSecContext(InquireType type)
Возвращает специфичный для механизма атрибут, связанный с type.
void requestDelegPolicy(boolean state)
Запрашивает соблюдение политики делегирования.

Методы, объявленные в интерфейсе GSSContext

acceptSecContext, acceptSecContext, dispose, export, getAnonymityState, getConfState, getCredDelegState, getDelegCred, getIntegState, getLifetime, getMech, getMIC, getMIC, getMutualAuthState, getReplayDetState, getSequenceDetState, getSrcName, getTargName, getWrapSizeLimit, initSecContext, initSecContext, isEstablished, isInitiator, isProtReady, isTransferable, requestAnonymity, requestConf, requestCredDeleg, requestInteg, requestLifetime, requestMutualAuth, requestReplayDet, requestSequenceDet, setChannelBinding, unwrap, unwrap, verifyMIC, verifyMIC, wrap, wrap
Модификатор и тип Метод Описание
byte[] acceptSecContext(byte[] inToken, int offset, int len)
Вызывается принимающей стороной контекста при получении токена от партнёра.
void acceptSecContext(InputStream inStream, OutputStream outStream)
Устарело.
Методы на основе потоков удалены из RFC 8353.
void dispose()
Освобождает все системные ресурсы и криптографическую информацию, сохранённые в объекте контекста, и делает контекст недействительным.
byte[] export()
Экспортирует этот контекст, чтобы другой процесс мог его импортировать.
boolean getAnonymityState()
Определяет, прошёл ли инициатор контекста анонимную аутентификацию у принимающей стороны контекста.
boolean getConfState()
Определяет, доступна ли в контексте конфиденциальность данных.
boolean getCredDelegState()
Определяет, включено ли делегирование учётных данных в этом контексте.
GSSCredential getDelegCred()
Получает учётные данные, делегированные инициатором контекста принимающей стороне контекста.
boolean getIntegState()
Определяет, доступна ли в контексте целостность данных.
int getLifetime()
Определяет оставшееся время жизни этого контекста.
Oid getMech()
Определяет, какой механизм используется для этого контекста.
byte[] getMIC(byte[] inMsg, int offset, int len, MessageProp msgProp)
Возвращает токен, содержащий криптографический код проверки целостности сообщения (MIC) для указанного сообщения, предназначенный для передачи приложению-партнёру.
void getMIC(InputStream inStream, OutputStream outStream, MessageProp msgProp)
Устарело.
Методы на основе потоков удалены из RFC 8353.
boolean getMutualAuthState()
Определяет, включена ли взаимная аутентификация в этом контексте.
boolean getReplayDetState()
Определяет, включено ли обнаружение повторов для служб безопасности сообщений в этом контексте.
boolean getSequenceDetState()
Определяет, включена ли проверка последовательности для служб безопасности сообщений в этом контексте.
GSSName getSrcName()
Возвращает имя инициатора контекста.
GSSName getTargName()
Возвращает имя принимающей стороны контекста.
int getWrapSizeLimit(int qop, boolean confReq, int maxTokenSize)
Используется для определения ограничений на размер сообщения, которое можно передать в wrap.
byte[] initSecContext(byte[] inputBuf, int offset, int len)
Вызывается инициатором контекста для запуска этапа создания контекста и обработки любых токенов, созданных методом acceptSecContext партнёра.
int initSecContext(InputStream inStream, OutputStream outStream)
Устарело.
Методы на основе потоков удалены из RFC 8353.
boolean isEstablished()
Используется при установлении контекста для определения его состояния.
boolean isInitiator()
Определяет, является ли эта сторона инициатором контекста.
boolean isProtReady()
Определяет, готов ли контекст к выполнению операций над отдельными сообщениями.
boolean isTransferable()
Определяет, можно ли передать контекст другим процессам с помощью метода export.
void requestAnonymity(boolean state)
Запрашивает, чтобы личность инициатора не раскрывалась принимающей стороне.
void requestConf(boolean state)
Запрашивает включение конфиденциальности данных для метода wrap.
void requestCredDeleg(boolean state)
Запрашивает делегирование учётных данных инициатора принимающей стороне при установлении контекста.
void requestInteg(boolean state)
Запрашивает включение целостности данных для методов wrap и getMIC.
void requestLifetime(int lifetime)
Запрашивает время жизни контекста в секундах.
void requestMutualAuth(boolean state)
Запрашивает выполнение взаимной аутентификации при установлении контекста.
void requestReplayDet(boolean state)
Запрашивает включение обнаружения повторов для служб безопасности сообщений после установления контекста.
void requestSequenceDet(boolean state)
Запрашивает включение проверки последовательности для служб безопасности сообщений после установления контекста.
void setChannelBinding(ChannelBinding cb)
Задаёт привязки канала, которые будут использоваться при установлении контекста.
byte[] unwrap(byte[] inBuf, int offset, int len, MessageProp msgProp)
Используется для обработки токенов, созданных методом wrap на другой стороне контекста.
void unwrap(InputStream inStream, OutputStream outStream, MessageProp msgProp)
Устарело.
Методы на основе потоков удалены из RFC 8353.
void verifyMIC(byte[] inToken, int tokOffset, int tokLen, byte[] inMsg, int msgOffset, int msgLen, MessageProp msgProp)
Проверяет криптографический MIC, содержащийся в параметре токена, для указанного сообщения.
void verifyMIC(InputStream tokStream, InputStream msgStream, MessageProp msgProp)
Устарело.
Методы на основе потоков удалены из RFC 8353.
byte[] wrap(byte[] inBuf, int offset, int len, MessageProp msgProp)
Применяет службы безопасности для отдельных сообщений к установленному контексту безопасности.
void wrap(InputStream inStream, OutputStream outStream, MessageProp msgProp)
Устарело.
Методы на основе потоков удалены из RFC 8353.

Подробное описание методов

inquireSecContext

Object inquireSecContext(InquireType type) throws GSSException
Возвращает специфичный для механизма атрибут, связанный с type.

Пример:

     GSSContext ctxt = m.createContext(...)
     // Establishing the context
     if (ctxt instanceof ExtendedGSSContext) {
         ExtendedGSSContext ex = (ExtendedGSSContext)ctxt;
         try {
             Key key = (key)ex.inquireSecContext(
                     InquireType.KRB5_GET_SESSION_KEY);
             // read key info
         } catch (GSSException gsse) {
             // deal with exception
         }
     }
Параметры:
type — тип запрашиваемого атрибута
Возвращает:
атрибут; подробности см. в документации метода.
Исключения:
GSSException — содержит следующие основные коды ошибок: GSSException.BAD_MECH, если механизм не поддерживает этот метод; GSSException.UNAVAILABLE, если указанный тип не поддерживается; GSSException.NO_CONTEXT, если контекст безопасности недействителен; GSSException.FAILURE — при других неуказанных сбоях.
См. также:
  • InquireType

requestDelegPolicy

void requestDelegPolicy(boolean state) throws GSSException
Запрашивает соблюдение политики делегирования. Если запрашивается значение true, базовый контекст использует политику делегирования, определённую средой, в качестве подсказки для принятия решения о необходимости делегирования учётных данных. Этот запрос можно выполнить только на стороне инициатора контекста и до первого вызова initSecContext.

Если этот флаг имеет значение false, делегирование будет выполняться только при значении true для credentials delegation flag.

Если этот флаг имеет значение true, а credentials delegation flag — false, делегирование будет выполняться только в том случае, если политика делегирования разрешает его.

Если и этот флаг, и credentials delegation flag имеют значение true, делегирование будет выполняться всегда. Однако если политика делегирования не разрешает делегирование, значение getDelegPolicyState() будет false, даже если делегирование выполнено успешно.

В любом случае, если делегирование завершится неудачно, значение, возвращаемое методом GSSContext.getCredDelegState(), будет false, а значение, возвращаемое методом getDelegPolicyState(), также будет false.

Не все механизмы поддерживают политику делегирования. Поэтому приложению следует проверить, был ли запрос выполнен, с помощью метода getDelegPolicyState. Если политика делегирования не поддерживается, requestDelegPolicy должен без уведомления завершить работу, не выбрасывая исключение.

Примечание: для механизма Kerberos 5 политика делегирования задаётся флагом OK-AS-DELEGATE в билете службы. Если он установлен, KDC разрешает делегирование целевому серверу. В среде с несколькими областями для разрешения делегирования флаг OK-AS-DELAGATE должен быть установлен также во всех межобластных TGT на пути аутентификации.

Параметры:
state — true, если политику следует соблюдать
Исключения:
GSSException — содержит следующие основные коды ошибок: GSSException.FAILURE

getDelegPolicyState

boolean getDelegPolicyState()
Возвращает результат проверки политики делегирования. Вызывается после установления контекста безопасности. Этот метод можно вызывать только на стороне инициатора. См. requestDelegPolicy(boolean).
Возвращает:
результат проверки политики делегирования

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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