重要: このドキュメントで説明する API および機能は、変更される場合があります。
J2SE 5 における Java GSS/Kerberos 実装では、次の機能拡張が行われています。これらの新しい機能に関するフィードバックがございましたら、java-security@sun.com までお送りください。
トリプル DES 暗号化タイプは、Kerberos 構成ファイルの「libdefaults」セクションで指定されます。ファイル中では「des3-cbc-sha1」として指定され、default_tkt_enctypes、default_tgs_enctypes、および permitted_enctypes というタグが付きます。「dec3-cbc-sha1」には次の別名があります。
des3-hmac-sha1 des3-cbc-sha1-kd des3-cbc-hmac-sha1-kdたとえば、構成ファイルの libdefaults セクションには次のような行があります。
default_tkt_enctypes = des3-cbc-sha1 des-cbc-md5 des-cbc-crc default_tgs_enctypes = des3-cbc-sha1 des-cbc-md5 des-cbc-crc permitted_enctypes = des3-cbc-sha1 des-cbc-md5 des-cbc-crcdefault_tkt_enctypes は、Ticket-Granting-Ticket のセッション鍵で使用する暗号化タイプを指定するために使用されます。クライアントはこれを使用して、KDC との通信で使用されるセッション鍵の暗号化タイプを制限します。デフォルト値は「des-cbc-md5 des-cbc-crc des3-cbc-sha1」です
default_tgs_enctypes は、サービスチケットのセッション鍵で使用する暗号化タイプを指定するために使用されます。クライアントはこれを使用して、クライアントとサーバーによって共有されるセッション鍵の暗号化タイプを制限します。デフォルト値は「des-cbc-md5 des-cbc-crc des3-cbc-sha1」です。
permitted_enctypes は、サービスによる使用が許可された暗号化タイプを指定するために使用されます。サーバーはこれを使用して、サーバーが受け入れるセッション鍵の暗号化タイプを制限します。デフォルト値は「des-cbc-md5 des-cbc-crc des3-cbc-sha1」です。
KDC にメッセージを送信するときにメッセージのサイズが udp_preference_list よりも大きい場合、Java SE Kerberos ライブラリは TCP を使用します。メッセージのサイズが udp_preference_list より小さい場合は、UDP が 3 回まで試行されます。要求のサイズが大きすぎるという応答が KDC からあると、Java SE Kerberos ライブラリは TCP を使用します。
この機能により、Krb5LoginModule がチケットキャッシュから期限切れのチケットを取得した場合でも、TGT は自動的に更新され、チケットを要求した呼び出し側のサブジェクトに追加されます。何らかの理由でチケットを更新できない場合、Krb5LoginModule は構成済みのコールバックハンドラを使用してユーザー名とパスワードを検索し、新規 TGT を取得します。
この機能を使用するには、チケットキャッシュを使用するように Krb5LoginModule を構成し、新しく取り入れられた renewTGT オプションを true に設定します。TGT の更新を要求する JAAS ログイン構成ファイルの例を次に示します。
server { com.sun.security.auth.module.Krb5LoginModule required principal=principal@your_realm useTicketCache=true renewTGT=true; };renewTGT が true に設定されている場合は、useTicketCache も true に設定する必要があります。設定しない場合は構成エラーが発生します。
com.sun.net.ssl.server com.sun.net.ssl.clientJSSE アプリケーションが明示的な JAAS プログラムなしで Kerberos 暗号化方式群を使用すると、SunJSSE プロバイダはこれらのインデックス名を使用して JAAS ログインモジュールを検出および構成し、必要な Kerberos クレデンシャルを取得します。たとえば、そのようなアプリケーションには次の JAAS 構成ファイルがあります。
com.sun.net.ssl.server { com.sun.security.auth.module.Krb5LoginModule required principal=service_principal@your_realm useKeyTab=true keyTab=keytab_name storeKey=true; };エントリが検出されない場合は、デフォルトの「ほかの」インデックス名が使用されます。TLS のサービス名は「host」です。たとえば、「KRBNT-OPERATIONS.EXAMPLE.COM」というレルム内の「raven.example.com」という名前のマシンで TLS サービスを実行する場合、サービスプリンシパル名は次のようになります
host/raven.example.com@KRBNT-OPERATIONS.EXAMPLE.COMTLS クライアントには何の制限もないので、有効な Kerberos プリンシパル名であれば使用可能です。
JSSE アプリケーションが明示的な JAAS プログラムとともに Kerberos 暗号化方式群を使用する場合は、上述のインデックス名を含め、任意のインデックス名を使用できます。