Интерфейс ExtendedGSSContext
- Все суперинтерфейсы:
GSSContext
public interface ExtendedGSSContext extends GSSContext
org.ietf.jgss.GSSContext, таких как получение атрибутов, связанных с контекстом.- Начиная с:
- 1.7
Краткое описание полей
Поля, объявленные в интерфейсе GSSContext
DEFAULT_LIFETIME, INDEFINITE_LIFETIME
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
getDelegPolicyState() |
Возвращает ответ политики делегирования. |
Object |
inquireSecContext |
Возвращает атрибут, специфичный для механизма и связанный с type. |
void |
requestDelegPolicy |
Запрашивает соблюдение политики делегирования. |
Методы, объявленные в интерфейсе 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
Подробное описание методов
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при других неуказанных сбоях. - См. также:
requestDelegPolicy
void requestDelegPolicy(boolean state) throws GSSException
initSecContext. Если этот флаг равен false, делегирование будет выполняться только в том случае, если credentials delegation flag имеет значение true.
Если этот флаг равен 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).- Возвращает:
- ответ политики делегирования
© 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/jdk.security.jgss/com/sun/security/jgss/ExtendedGSSContext.html