- 所有父级接口:
GSSContext
扩展的 GSSContext 接口,用于支持
org.ietf.jgss.GSSContext
未定义的附加功能,例如查询特定于上下文的属性。
-
字段摘要
接口 org.ietf.jgss.GSSContext 中声明的字段
DEFAULT_LIFETIME, INDEFINITE_LIFETIME
-
方法总结
修饰符和类型方法描述boolean
返回委托策略响应。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
返回与type
关联的特定于机制的属性。如果有安全管理器,则必须授予名称为
type.mech
的InquireSecContextPermission
。否则,这可能会导致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
。- 参见:
-
requestDelegPolicy
要求尊重授权策略。当请求真值时,底层上下文将使用环境定义的委托策略作为提示来确定是否应执行凭据委托。此请求只能在上下文发起者端进行,并且必须在第一次调用initSecContext
之前完成。当此标志为 false 时,只有在
credentials delegation flag
为 true 时才会尝试委托。当此标志为真但
credentials delegation flag
为假时,只有在委托策略允许委托时才会尝试委托。当此标志和
credentials delegation flag
都为真时,将始终尝试委托。但是,如果委托策略不允许委托,即使委托成功,getDelegPolicyState()
的值也将为false。不管怎样,如果委托不成功,
GSSContext.getCredDelegState()
返回的值为false,getDelegPolicyState()
返回的值也为false。并非所有机制都支持授权策略。因此,应用程序应检查请求是否已通过
getDelegPolicyState
方法得到满足。当不支持委托策略时,requestDelegPolicy
应该静默返回而不抛出异常。注意:对于 Kerberos 5 机制,委托策略是通过服务票证中的 OK-AS-DELEGATE 标志来表达的。如果为真,则 KDC 允许委派给目标服务。在跨字段环境中,为了允许委派,身份验证路径上的所有跨字段 TGT 也必须设置 OK-AS-DELAGATE 标志。
- 参数:
state
- 如果应该遵守策略则为真- 抛出:
GSSException
- 包含以下主要错误代码:GSSException.FAILURE
-
getDelegPolicyState
boolean getDelegPolicyState()返回委托策略响应。在建立安全上下文后调用。该方法只能在发起者端调用。参见requestDelegPolicy(boolean)
。- 返回:
- 授权策略响应
-