2

Kerberos サーバーと通信してさまざまな操作を実行する Java API があります。現在、API は Kerberos サーバーへの更新不可能なチケットを要求しています。私が理解していることから、jaas 構成ファイルには、更新可能なチケットを発行できるように、renewTGT オプションを true に設定するオプションがあります。ただし、Jaas は「renewUntil」時間の設定に多くの制限があるようです。更新可能なチケットをリクエストする方法と、その更新可能性を制御する方法を教えてください。基本的に、次の操作に相当する Java を実行する方法はありますか: kinit -R ? 前もって感謝します。

4

1 に答える 1

4

JDK7 (1.7.0_55) の時点で、JAASKrb5LoginModuleは認証時に更新可能な TGT を要求するオプションを提供していないため、現在 JAAS を使用してこれを行うことはできません。これを達成できるかもしれませんが、JAAS をバイパスして、内部の Kerberos クラスを直接使用する必要があります。

内部的に、提供されたパスワードまたは keyTab のいずれかを使用して認証情報を取得するため に をKrb5LoginModuleインスタンス化します。にはメソッドがありますが、これはログイン モジュールでは呼び出されません。アクセスできる場合は、 を呼び出すことができます。KDC が更新可能なチケットを許可するように構成されていれば、返されたチケットは更新可能であると期待できます。sun.security.krb5.KrbAsReqBuilderKrbAsReqBuildersetOptions(KDCOptions options)KDCOptions#set(KDCOptions.RENEWABLE, true)

于 2014-09-03T23:50:55.187 に答える