長期の秘密キーをキータブ・ファイルから取得するKerberos JAASログイン・モジュールでは、このクラスを使用するようにしてください。 ログイン・モジュールは、認証プロセスのコミット・フェーズ中に、このクラスのインスタンスをSubjectの非公開資格セットに格納します。
KeyTabオブジェクトがgetUnboundInstance()またはgetUnboundInstance(java.io.File)から取得されたものである場合、それはバインドされていないため、どのサービス主体からも使用できます。 それ以外の場合、それがgetInstance(KerberosPrincipal)またはgetInstance(KerberosPrincipal, java.io.File)から取得されたものである場合、それは特定のサービス主体にバインドされているため、そのサービス主体からしか使用できません。
コンストラクタgetInstance()とgetInstance(java.io.File)は、バインドされていないキータブがサポートされていない時点で作成されたものです。 これらのメソッドは今後使用しないでください。 これらのメソッドのいずれかを使用して作成されたオブジェクトは未知の主体にバインドされているとみなされるため、そのisBound()からはtrueが、getPrincipal()からはnullがそれぞれ返されます。
SubjectからKeyTabインスタンスにアクセスする必要がある場合は、アプリケーションにPrivateCredentialPermissionを付与する必要があります。 アプリケーションがKeyTabにアクセスするためのデフォルトのJGSS Kerberosメカニズムに依存する場合、このアクセス権は必要ありません。 ただしその場合、アプリケーションには適切なServicePermissionが必要です。
キー・タブのファイル形式については、http://www.ioplex.com/utilities/keytab.txtを参照してください。
- 導入されたバージョン:
- 1.7
-
メソッドのサマリー
修飾子と型メソッド説明boolean指定されたオブジェクトをこのKeyTabと比較し、等しいかどうかを確認します。booleanexists()キータブ・ファイルが存在するかどうかをチェックします。static KeyTab未知のサービス主体にバインドされたデフォルトのKeyTabインスタンスを返します。static KeyTabgetInstance(File file) 未知のサービス主体にバインドされたFileオブジェクトからKeyTabインスタンスを返します。static KeyTabgetInstance(KerberosPrincipal princ) 指定されたサービス主体にバインドされたデフォルトのKeyTabインスタンスを返します。static KeyTabgetInstance(KerberosPrincipal princ, File file) 指定されたサービス主体にバインドされたFileオブジェクトからKeyTabインスタンスを返します。getKeys(KerberosPrincipal principal) 指定したKerberos主体の新しいキーを返します。このKeyTabオブジェクトがバインドされているサービス主体を返します。static KeyTabバインドされていないデフォルトのKeyTabインスタンスを返します。static KeyTabgetUnboundInstance(File file) Fileオブジェクトから、バインドされていないKeyTabインスタンスを返します。inthashCode()このKeyTabのハッシュ・コードを返します。booleanisBound()キータブが主体にバインドされているかどうかを返しますtoString()このKeyTabの有益なテキスト表現を返します。
-
メソッドの詳細
-
getInstance
未知のサービス主体にバインドされたFileオブジェクトからKeyTabインスタンスを返します。このメソッドの結果はnullにはなりません。 このメソッドは返された
KeyTabオブジェクトをファイルに関連付けるだけで、読込みは行いません。開発者は、バインド先のサービス主体がわかっている場合は
getInstance(KerberosPrincipal,File)を呼び出すようにしてください。- パラメータ:
file- キー・タブFileオブジェクト(null以外)。- 戻り値:
- キータブ・インスタンス
- 例外:
NullPointerException-file引数がnullの場合
-
getUnboundInstance
Fileオブジェクトから、バインドされていないKeyTabインスタンスを返します。このメソッドの結果はnullにはなりません。 このメソッドは返された
KeyTabオブジェクトをファイルに関連付けるだけで、読込みは行いません。- パラメータ:
file- キー・タブFileオブジェクト(null以外)。- 戻り値:
- キータブ・インスタンス
- 例外:
NullPointerException- file引数がnullの場合- 導入されたバージョン:
- 1.8
-
getInstance
public static KeyTab getInstance(KerberosPrincipal princ, File file) 指定されたサービス主体にバインドされたFileオブジェクトからKeyTabインスタンスを返します。このメソッドの結果はnullにはなりません。 このメソッドは返された
KeyTabオブジェクトをファイルに関連付けるだけで、読込みは行いません。- パラメータ:
princ- バインド先のサービス主体(nullは不可)file- キー・タブFileオブジェクト(null以外)。- 戻り値:
- キータブ・インスタンス
- 例外:
NullPointerException- いずれかの引数がnullの場合- 導入されたバージョン:
- 1.8
-
getInstance
public static KeyTab getInstance()未知のサービス主体にバインドされたデフォルトのKeyTabインスタンスを返します。このメソッドの結果はnullにはなりません。 このメソッドは返された
KeyTabオブジェクトをデフォルトのキータブ・ファイルに関連付けるだけで、読込みは行いません。開発者は、バインド先のサービス主体がわかっている場合は
getInstance(KerberosPrincipal)を呼び出すようにしてください。- 戻り値:
- デフォルトのキータブ・インスタンス。
-
getUnboundInstance
public static KeyTab getUnboundInstance()バインドされていないデフォルトのKeyTabインスタンスを返します。このメソッドの結果はnullにはなりません。 このメソッドは返された
KeyTabオブジェクトをデフォルトのキータブ・ファイルに関連付けるだけで、読込みは行いません。- 戻り値:
- デフォルトのキータブ・インスタンス
- 導入されたバージョン:
- 1.8
-
getInstance
public static KeyTab getInstance(KerberosPrincipal princ) 指定されたサービス主体にバインドされたデフォルトのKeyTabインスタンスを返します。このメソッドの結果はnullにはなりません。 このメソッドは返された
KeyTabオブジェクトをデフォルトのキータブ・ファイルに関連付けるだけで、読込みは行いません。- パラメータ:
princ- バインド先のサービス主体(nullは不可)- 戻り値:
- デフォルトのキータブ・インスタンス
- 例外:
NullPointerException-princがnullの場合- 導入されたバージョン:
- 1.8
-
getKeys
public KerberosKey[] getKeys(KerberosPrincipal principal) 指定したKerberos主体の新しいキーを返します。このメソッドの実装では、戻り値のキーがキータブ・ファイルの最新の内容と一致していることを確認するようにしてください。 新しく作成されたコピーが結果として得られ、これはキータブ・オブジェクトを変更することなく、呼出し側から変更できます。 呼出し側は、結果として得られたキーを使用したあと、それを
破棄するべきです。キータブ・ファイルは、
KeyTabオブジェクトのインスタンス化後に作成可能となり、その内容は時間とともに変わる可能性があります。 したがって、アプリケーションは、キーを使用する必要があるときのみ、このメソッドを呼び出すべきです。 以前の呼出しによる古い結果は期限切れになっている可能性があります。keytabファイルの読取りプロセス中にエラー(I/Oエラーまたはフォーマット・エラー)が発生した場合は、保存された結果が返されます。 保存されている結果がない場合は(このメソッドを最初に呼び出した場合や以前の読取りがすべて失敗した場合など)、空の配列を返すようにしてください。 これにより、時間のかかることが多いキータブ・ファイルの更新中に結果が大きく変わることがなくなります。
このメソッドが呼び出され、例外(入出力エラーやファイル形式エラー)が発生することなくファイルの読込みに成功するたびに、結果が
principal用に保存されるようにしてください。 場合によっては、同じキータブ・オブジェクト内にキーが格納されているほかの主体用にキーを保存することもできます。キー・タブから読み込まれたサポートされていないキーは無視され、結果には含められません。
このキータブが特定の主体にバインドされている場合、別の主体に対してこのメソッドを呼び出すと、空の配列が返されます。
- パラメータ:
principal- Kerberos主体(null以外)。- 戻り値:
- キー(空であってもよいが、Nullは不可)
- 例外:
NullPointerException-principal引数がnullの場合SecurityException- セキュリティ・マネージャが存在し、キータブ・ファイルへの読込みアクセスが許可されない場合
-
exists
public boolean exists()キータブ・ファイルが存在するかどうかをチェックします。 このメソッドの実装では、結果がキータブ・ファイルの最新の状態と一致していることを確認するようにしてください。- 戻り値:
- キータブ・ファイルが存在する場合はtrue、それ以外の場合はfalse。
- 例外:
SecurityException- セキュリティ・マネージャが存在し、キータブ・ファイルへの読込みアクセスが許可されない場合
-
toString
-
hashCode
-
equals
-
getPrincipal
public KerberosPrincipal getPrincipal()このKeyTabオブジェクトがバインドされているサービス主体を返します。 バインドされていない場合はnullを返します。非推奨のコンストラクタは、不明なプリンシパルにバインドされた
KeyTabオブジェクトを作成することに注意してください。 この場合もこのメソッドからnullが返されます。isBound()を呼び出せば、この場合の確認を行えます。- 戻り値:
- サービス主体
- 導入されたバージョン:
- 1.8
-
isBound
public boolean isBound()キータブが主体にバインドされているかどうかを返します- 戻り値:
- キータブが主体にバインドされているかどうか
- 導入されたバージョン:
- 1.8
-