-
- All Superinterfaces:
-
GSSContext
public interface ExtendedGSSContext extends GSSContext
扩展的GSSContext接口,用于支持未由org.ietf.jgss.GSSContext
定义的其他功能,例如查询上下文相关属性。
-
-
Field Summary
-
Fields inherited from interface org.ietf.jgss.GSSContext
DEFAULT_LIFETIME, INDEFINITE_LIFETIME
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 boolean
getDelegPolicyState()
返回委派策略响应。Object
inquireSecContext(InquireType type)
返回与type
相关联的机制特定属性。void
requestDelegPolicy(boolean state)
要求尊重授权政策。-
Methods inherited from interface 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
要求尊重授权政策。 当请求真值时,底层环境将使用环境定义的委派策略作为提示来确定是否应执行凭据委派。 该请求只能在上下文发起方进行,并且必须在首次调用initSecContext
之前完成。当这个标志为false时,授权只有在
credentials delegation flag
为真时才会被尝试。当这个标志是真的,但是
credentials delegation flag
是假的,代表团将只有在授权委托的情况下才会审判。当这个标志和
credentials delegation flag
都是真实的,授权将始终被尝试。 但是,如果委托政策不允许授权,即使委托成功,getDelegPolicyState()
的值也是假的。无论如何,如果委托不成功,由
GSSContext.getCredDelegState()
返回的值为 false,并且返回的值为getDelegPolicyState()
也是假的。并非所有机制都支持委托政策。 因此,应用程序应检查该请求是否符合
getDelegPolicyState
方法。 当不支持委托策略时,requestDelegPolicy
应该默认返回,而不会抛出异常。注意:对于Kerberos 5机制,委托策略通过服务故障单中的OK-AS-DELEGATE标志来表示。 当它是真的,KDC允许委派到目标服务器。 在跨域环境中,为了允许委派,认证路径上的所有跨域TGT也必须设置OK-AS-DELAGATE标志。
- 参数
-
state
- 如果政策得到尊重,state
真 - 异常
-
GSSException
- 包含以下主要错误代码:GSSException.FAILURE
-
getDelegPolicyState
boolean getDelegPolicyState()
- 结果
- 代表团的政策回应
-
-