Kerberos サーバーと通信してさまざまな操作を実行する Java API があります。現在、API は Kerberos サーバーへの更新不可能なチケットを要求しています。私が理解していることから、jaas 構成ファイルには、更新可能なチケットを発行できるように、renewTGT オプションを true に設定するオプションがあります。ただし、Jaas は「renewUntil」時間の設定に多くの制限があるようです。更新可能なチケットをリクエストする方法と、その更新可能性を制御する方法を教えてください。基本的に、次の操作に相当する Java を実行する方法はありますか: kinit -R ? 前もって感謝します。
質問する
1963 次
1 に答える
4
JDK7 (1.7.0_55) の時点で、JAASKrb5LoginModule
は認証時に更新可能な TGT を要求するオプションを提供していないため、現在 JAAS を使用してこれを行うことはできません。これを達成できるかもしれませんが、JAAS をバイパスして、内部の Kerberos クラスを直接使用する必要があります。
内部的に、提供されたパスワードまたは keyTab のいずれかを使用して認証情報を取得するため に をKrb5LoginModule
インスタンス化します。にはメソッドがありますが、これはログイン モジュールでは呼び出されません。アクセスできる場合は、 を呼び出すことができます。KDC が更新可能なチケットを許可するように構成されていれば、返されたチケットは更新可能であると期待できます。sun.security.krb5.KrbAsReqBuilder
KrbAsReqBuilder
setOptions(KDCOptions options)
KDCOptions#set(KDCOptions.RENEWABLE, true)
于 2014-09-03T23:50:55.187 に答える