モジュール jdk.security.jgss
パッケージ com.sun.security.jgss

インタフェースExtendedGSSContext

  • すべてのスーパー・インタフェース:
    GSSContext

    public interface ExtendedGSSContext
    extends GSSContext
    org.ietf.jgss.GSSContextで定義されていない追加機能(コンテキスト固有の属性の問合せなど)をサポートするように拡張されたGSSContextインタフェース。
    • メソッドの詳細

      • inquireSecContext

        Object inquireSecContext​(InquireType type)
                          throws GSSException
        typeに関連したメカニズム固有の属性を返します。

        セキュリティ・マネージャが存在する場合、名前がtype.mechInquireSecContextPermissionを付与する必要があります。 それ以外の場合、これは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の両方がtrueのときは、委譲は常に試行されます。 ただし、委譲ポリシーで委譲が許可されない場合、委譲が正常に実行されてもgetDelegPolicyState()の値はfalseになります。

        いずれにしても、委譲が正常に行われない場合、GSSContext.getCredDelegState()によって返される値はfalseで、getDelegPolicyState()によって返される値もfalseです。

        メカニズムによっては、委譲ポリシーがサポートされていないことがあります。 そのため、アプリケーションはgetDelegPolicyStateメソッドを使用して、この要求が受け付けられたかどうかを確認するようにしてください。 委譲ポリシーがサポートされていないときは、requestDelegPolicyは何もせずに復帰し、例外はスローされません。

        ノート: Kerberos 5メカニズムの場合、委譲ポリシーはサービス・チケットのOK-AS-DELEGATEフラグによって表されます。 これがtrueのときは、KDCではターゲット・サーバーへの委譲が許可されます。 相互レルム環境では、委譲を許可するには、認証パス上のすべての相互レルムTGTでOK-AS-DELAGATEフラグも設定されている必要があります。

        パラメータ:
        state - ポリシーを遵守する場合はtrue
        例外:
        GSSException - 次のメジャー・エラー・コードを含む。GSSException.FAILURE
      • getDelegPolicyState

        boolean getDelegPolicyState()
        委譲ポリシーの応答を返します。 セキュリティ・コンテキストの確立後に呼び出されます。 このメソッドは、起動側のみで呼び出すことができます。 requestDelegPolicy(boolean)を参照してください。
        戻り値:
        委譲ポリシーの応答