-
- All Superinterfaces:
-
GSSContext
public interface ExtendedGSSContextextends GSSContext
扩展的GSSContext接口,用于支持org.ietf.jgss.GSSContext
未定义的其他功能,例如查询特定于上下文的属性。
-
-
字段汇总
-
Fields declared in interface org.ietf.jgss.GSSContext
DEFAULT_LIFETIME, INDEFINITE_LIFETIME
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 boolean
getDelegPolicyState()
返回委派策略响应。Object
inquireSecContext(InquireType type)
返回与type
关联的特定于机制的属性。void
requestDelegPolicy(boolean state)
要求尊重委托政策。-
声明方法的接口 org.ietf.jgss.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
关联的特定于机制的属性。如果有安全管理器,
InquireSecContextPermission
名为type.mech
必须被授予。 否则,这可能会导致SecurityException
。例:
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
对于其他未说明故障。 -
SecurityException
- 如果存在安全管理器且未授予正确的InquireSecContextPermission
。 - 另请参见:
-
InquireSecContextPermission
,InquireType
-
requestDelegPolicy
void requestDelegPolicy(boolean state) throws GSSException
要求尊重委托政策。 当请求true值时,基础上下文将使用环境定义的委派策略作为提示来确定是否应该执行凭证委派。 此请求只能在上下文发起方一方进行,并且必须在第一次调用initSecContext
之前完成。如果此标志为false,则仅在
credentials delegation flag
为true时尝试委派 。如果此标志为true但
credentials delegation flag
为false,则仅在委派策略允许委派时才会尝试委派。当此标志和
credentials delegation flag
都为真时,将始终尝试委派。 但是,如果委派策略不允许委派,则即使成功执行委派,getDelegPolicyState()
的值也将为false。在任何情况下,如果委派不成功,则
GSSContext.getCredDelegState()
返回的值为 false,并且getDelegPolicyState()
返回的值也为false。并非所有机制都支持委派政策。 因此,应用程序应检查请求是否符合
getDelegPolicyState
方法。 如果不支持委派策略,则应以静默方式返回requestDelegPolicy
而不抛出异常。注意:对于Kerberos 5机制,委派策略通过服务票证中的OK-AS-DELEGATE标志表示。 如果是,则KDC允许委派到目标服务器。 在跨领域环境中,为了允许委派,认证路径上的所有跨领域TGT也必须设置OK-AS-DELAGATE标志。
- 参数
-
state
- 如果应该遵守该策略,state
true - 异常
-
GSSException
- 包含以下主要错误代码:GSSException.FAILURE
-
getDelegPolicyState
boolean getDelegPolicyState()
- 结果
- 代表团的政策回应
-
-