- java.lang.Object
-
- javax.security.auth.kerberos.KeyTab
-
public final class KeyTab extends Object
このクラスは、キータブ・ファイルをカプセル化します。長期の秘密鍵をキータブ・ファイルから取得する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
-
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 booleanequals(Object other)指定されたオブジェクトとこのKeyTabが等しいかどうかを比較します。booleanexists()キータブ・ファイルが存在するかどうかをチェックします。static KeyTabgetInstance()未知のサービス主体にバインドされたデフォルトのKeyTabインスタンスを返します。static KeyTabgetInstance(File file)未知のサービス主体にバインドされたFileオブジェクトからKeyTabインスタンスを返します。static KeyTabgetInstance(KerberosPrincipal princ)指定されたサービス主体にバインドされたデフォルトのKeyTabインスタンスを返します。static KeyTabgetInstance(KerberosPrincipal princ, File file)指定されたサービス主体にバインドされたFileオブジェクトからKeyTabインスタンスを返します。KerberosKey[]getKeys(KerberosPrincipal principal)指定したKerberos主体の新しい鍵を返します。KerberosPrincipalgetPrincipal()このKeyTabオブジェクトがバインドされているサービス主体を返します。static KeyTabgetUnboundInstance()バインドされていないデフォルトのKeyTabインスタンスを返します。static KeyTabgetUnboundInstance(File file)Fileオブジェクトから、バインドされていないKeyTabインスタンスを返します。inthashCode()このKeyTabのハッシュ・コードを返します。booleanisBound()キータブが主体にバインドされているかどうかを返しますStringtoString()このKeyTabの有益なテキスト表現を返します。
-
-
-
メソッドの詳細
-
getInstance
public static KeyTab getInstance(File file)
未知のサービス主体にバインドされたFileオブジェクトからKeyTabインスタンスを返します。このメソッドの結果はnullにはなりません。 このメソッドは返された
KeyTabオブジェクトをファイルに関連付けるだけで、読込みは行いません。開発者は、バインド先のサービス主体がわかっている場合は
getInstance(KerberosPrincipal,File)を呼び出すようにしてください。- パラメータ:
file- キー・タブFileオブジェクト(null以外)。- 戻り値:
- キータブ・インスタンス
- 例外:
NullPointerException-file引数がnullの場合
-
getUnboundInstance
public static KeyTab getUnboundInstance(File file)
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のハッシュ・コードを返します。- オーバーライド:
hashCode、クラス:Object- 戻り値:
- この
KeyTabのハッシュ・コード。 - 関連項目:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object other)
指定されたオブジェクトとこのKeyTabが等しいかどうかを比較します。 指定されたオブジェクトがKeyTabであり、2つのKeyTabインスタンスが等価である場合、trueを返します。- オーバーライド:
equals、クラス:Object- パラメータ:
other- 比較するオブジェクト- 戻り値:
- 指定されたオブジェクトがこの
KeyTabと等しい場合はtrue - 関連項目:
Object.hashCode()、HashMap
-
getPrincipal
public KerberosPrincipal getPrincipal()
このKeyTabオブジェクトがバインドされているサービス主体を返します。 バインドされていない場合はnullを返します。非推奨のコンストラクタは、未知のプリンシパルにバインドされた
KeyTabオブジェクトを作成することに注意してください。 この場合もこのメソッドからnullが返されます。isBound()を呼び出せば、この場合の確認を行えます。- 戻り値:
- サービス主体
- 導入されたバージョン:
- 1.8
-
isBound
public boolean isBound()
キータブが主体にバインドされているかどうかを返します- 戻り値:
- キータブが主体にバインドされているかどうか
- 導入されたバージョン:
- 1.8
-
-