長期の秘密キーをキータブ・ファイルから取得する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
が等しいかどうかを比較します。boolean
exists()
キータブ・ファイルが存在するかどうかをチェックします。static KeyTab
未知のサービス主体にバインドされたデフォルトのKeyTab
インスタンスを返します。static KeyTab
getInstance
(File file) 未知のサービス主体にバインドされたFile
オブジェクトからKeyTab
インスタンスを返します。static KeyTab
getInstance
(KerberosPrincipal princ) 指定されたサービス主体にバインドされたデフォルトのKeyTab
インスタンスを返します。static KeyTab
getInstance
(KerberosPrincipal princ, File file) 指定されたサービス主体にバインドされたFile
オブジェクトからKeyTab
インスタンスを返します。getKeys
(KerberosPrincipal principal) 指定したKerberos主体の新しいキーを返します。このKeyTab
オブジェクトがバインドされているサービス主体を返します。static KeyTab
バインドされていないデフォルトのKeyTab
インスタンスを返します。static KeyTab
getUnboundInstance
(File file) File
オブジェクトから、バインドされていないKeyTab
インスタンスを返します。int
hashCode()
このKeyTab
のハッシュ・コードを返します。boolean
isBound()
キータブが主体にバインドされているかどうかを返します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
public String toString()このKeyTab
の有益なテキスト表現を返します。 -
hashCode
public int hashCode()このKeyTab
のハッシュ・コードを返します。 -
equals
public boolean equals(Object other) 指定されたオブジェクトとこのKeyTab
が等しいかどうかを比較します。 指定されたオブジェクトがKeyTab
であり、2つのKeyTab
インスタンスが等価である場合、trueを返します。 -
getPrincipal
public KerberosPrincipal getPrincipal()このKeyTab
オブジェクトがバインドされているサービス主体を返します。 バインドされていない場合はnull
を返します。非推奨のコンストラクタは、未知のプリンシパルにバインドされた
KeyTab
オブジェクトを作成することに注意してください。 この場合もこのメソッドからnullが返されます。isBound()
を呼び出せば、この場合の確認を行えます。- 戻り値:
- サービス主体
- 導入されたバージョン:
- 1.8
-
isBound
public boolean isBound()キータブが主体にバインドされているかどうかを返します- 戻り値:
- キータブが主体にバインドされているかどうか
- 導入されたバージョン:
- 1.8
-