public interface ExtendedGSSContext extends GSSContext
org.ietf.jgss.GSSContext
で定義されていない追加機能 (コンテキスト固有の属性の問合せなど) をサポートするように拡張された GSSContext インタフェース。DEFAULT_LIFETIME, INDEFINITE_LIFETIME
修飾子と型 | メソッドと説明 |
---|---|
boolean |
getDelegPolicyState()
委譲ポリシーの応答を返します。
|
Object |
inquireSecContext(InquireType type)
type に関連したメカニズム固有の属性を返します。 |
void |
requestDelegPolicy(boolean state)
委譲ポリシーに遵守するように要求します。
|
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
Object inquireSecContext(InquireType type) throws GSSException
type
に関連したメカニズム固有の属性を返します。KRB5_GET_TKT_FLAGS
: 返されるオブジェクトは、すべての true ビットを含めるために十分な長さである、サービスチケットフラグの boolean 型配列です。これは、ユーザーが n 番目のビットを取得する必要があるが、返される配列の長さが n より短い場合に、false と見なされることを意味します。
KRB5_GET_SESSION_KEY
: 返されるオブジェクトは、次のプロパティーを持つ Key
のインスタンスです。
KRB5_GET_AUTHZ_DATA
: 返されるオブジェクトは、AuthorizationDataEntry
の配列、またはオプションフィールドがサービスチケット内にない場合は null。
KRB5_GET_AUTHTIME
: 返されるオブジェクトは、RFC 4120 5.2.3 で定義された標準の KerberosTime 形式の String オブジェクト
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
が付与されていない場合。InquireSecContextPermission
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 フラグによって表されます。これが true のときは、KDC ではターゲットサーバーへの委譲が許可されます。相互レルム環境では、委譲を許可するには、認証パス上のすべての相互レルム TGT で OK-AS-DELAGATE フラグも設定されている必要があります。
state
- ポリシーを遵守する場合は trueGSSException
- 次のメジャーエラーコードを含む。GSSException.FAILURE
boolean getDelegPolicyState()
requestDelegPolicy(boolean)
を参照してください。
Copyright © 2000, 2013, Oracle and/or its affiliates. All rights reserved.