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を参照してください。
修飾子と型 | メソッド | 説明 |
---|---|---|
boolean |
equals(Object other) |
指定されたObjectとこのKeyTabを比較し、同等であるかどうかを調べます。
|
boolean |
exists() |
キータブ・ファイルが存在するかどうかをチェックします。
|
static KeyTab |
getInstance() |
未知のサービス主体にバインドされたデフォルトの
KeyTab インスタンスを返します。 |
static KeyTab |
getInstance(File file) |
未知のサービス主体にバインドされた
File オブジェクトからKeyTab インスタンスを返します。 |
static KeyTab |
getInstance(KerberosPrincipal princ) |
指定されたサービス主体にバインドされたデフォルトの
KeyTab インスタンスを返します。 |
static KeyTab |
getInstance(KerberosPrincipal princ, File file) |
指定されたサービス主体にバインドされた
File オブジェクトからKeyTab インスタンスを返します。 |
KerberosKey[] |
getKeys(KerberosPrincipal principal) |
指定したKerberos主体の新しいキーを返します。
|
KerberosPrincipal |
getPrincipal() |
この
KeyTab オブジェクトがバインドされているサービス主体を返します。 |
static KeyTab |
getUnboundInstance() |
バインドされていないデフォルトの
KeyTab インスタンスを返します。 |
static KeyTab |
getUnboundInstance(File file) |
File オブジェクトから、バインドされていないKeyTab インスタンスを返します。 |
int |
hashCode() |
このKeyTabのハッシュ・コードを返します。
|
boolean |
isBound() |
キータブが主体にバインドされているかどうかを返します
|
String |
toString() |
オブジェクトの文字列表現を返します。
|
public static KeyTab getInstance(File file)
File
オブジェクトからKeyTab
インスタンスを返します。
このメソッドの結果はnullにはなりません。 このメソッドは返されたKeyTab
オブジェクトをファイルに関連付けるだけで、読込みは行いません。
開発者は、バインド先のサービス主体がわかっている場合はgetInstance(KerberosPrincipal,File)
を呼び出すようにしてください。
file
- キー・タブFile
オブジェクト(null以外)。NullPointerException
- file
引数がnullの場合public static KeyTab getUnboundInstance(File file)
File
オブジェクトから、バインドされていないKeyTab
インスタンスを返します。
このメソッドの結果はnullにはなりません。 このメソッドは返されたKeyTab
オブジェクトをファイルに関連付けるだけで、読込みは行いません。
file
- キー・タブFile
オブジェクト(null以外)。NullPointerException
- file引数がnullの場合public static KeyTab getInstance(KerberosPrincipal princ, File file)
File
オブジェクトからKeyTab
インスタンスを返します。
このメソッドの結果はnullにはなりません。 このメソッドは返されたKeyTab
オブジェクトをファイルに関連付けるだけで、読込みは行いません。
princ
- バインド先のサービス主体(nullは不可)file
- キー・タブFile
オブジェクト(null以外)。NullPointerException
- いずれかの引数がnullの場合public static KeyTab getInstance()
KeyTab
インスタンスを返します。
このメソッドの結果はnullにはなりません。 このメソッドは返されたKeyTab
オブジェクトをデフォルトのキータブ・ファイルに関連付けるだけで、読込みは行いません。
開発者は、バインド先のサービス主体がわかっている場合はgetInstance(KerberosPrincipal)
を呼び出すようにしてください。
public static KeyTab getUnboundInstance()
KeyTab
インスタンスを返します。
このメソッドの結果はnullにはなりません。 このメソッドは返されたKeyTab
オブジェクトをデフォルトのキータブ・ファイルに関連付けるだけで、読込みは行いません。
public static KeyTab getInstance(KerberosPrincipal princ)
KeyTab
インスタンスを返します。
このメソッドの結果はnullにはなりません。 このメソッドは返されたKeyTab
オブジェクトをデフォルトのキータブ・ファイルに関連付けるだけで、読込みは行いません。
princ
- バインド先のサービス主体(nullは不可)NullPointerException
- princ
がnullの場合public KerberosKey[] getKeys(KerberosPrincipal principal)
このメソッドの実装では、戻り値のキーがキータブ・ファイルの最新の内容と一致していることを確認するようにしてください。 新しく作成されたコピーが結果として得られ、これはキータブ・オブジェクトを変更することなく、呼出し側から変更できます。 呼出し側は、結果として得られたキーを使用したあと、それを破棄
するべきです。
キータブ・ファイルは、KeyTab
オブジェクトのインスタンス化後に作成可能となり、その内容は時間とともに変わる可能性があります。 したがって、アプリケーションは、キーを使用する必要があるときのみ、このメソッドを呼び出すべきです。 以前の呼出しによる古い結果は期限切れになっている可能性があります。
KeyTabファイルの読取りプロセス中にエラー(I/Oエラーやフォーマット・エラーなど)が発生した場合は、保存されている結果を返すようにしてください。 保存されている結果がない場合は(このメソッドを最初に呼び出した場合や以前の読取りがすべて失敗した場合など)、空の配列を返すようにしてください。 これにより、時間のかかることが多いキータブ・ファイルの更新中に結果が大きく変わることがなくなります。
このメソッドが呼び出され、例外(入出力エラーやファイル形式エラー)が発生することなくファイルの読込みに成功するたびに、結果がprincipal
用に保存されるようにしてください。 場合によっては、同じキータブ・オブジェクト内にキーが格納されているほかの主体用にキーを保存することもできます。
キー・タブから読み込まれたサポートされていないキーは無視され、結果には含められません。
このキータブが特定の主体にバインドされている場合、別の主体に対してこのメソッドを呼び出すと、空の配列が返されます。
principal
- Kerberos主体(null以外)。NullPointerException
- principal
引数がnullの場合SecurityException
- セキュリティ・マネージャが存在し、キータブ・ファイルへの読込みアクセスが許可されない場合public boolean exists()
呼出し側は、この結果を使用して、キーを読み取るために別のメカニズムにフォール・バックするべきかどうかを判断できます。
SecurityException
- セキュリティ・マネージャが存在し、キータブ・ファイルへの読込みアクセスが許可されない場合public String toString()
Object
toString
メソッドは、このオブジェクトを「テキストで表す」文字列を返します。 この結果は、人間が読める簡潔で有益な情報であるべきです。 すべてのサブクラスで、このメソッドをオーバーライドすることをお勧めします。
クラスObject
のtoString
メソッドは、オブジェクトがインスタンスになっている元のクラスの名前、アットマーク文字「@
」、およびオブジェクトのハッシュ・コードの符号なし16進数表現から構成される文字列を返します。 つまり、このメソッドは次の値と等しい文字列を返します。
getClass().getName() + '@' + Integer.toHexString(hashCode())
public int hashCode()
hashCode
、クラスObject
KeyTab
のhashCode()Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean equals(Object other)
KeyTab
であり、2つのKeyTab
インスタンスが等価である場合、trueを返します。 equals
、クラスObject
other
- 比較対象のObjectObject.hashCode()
、HashMap
public KerberosPrincipal getPrincipal()
KeyTab
オブジェクトがバインドされているサービス主体を返します。 バインドされていない場合はnull
を返します。
非推奨のコンストラクタでは、ある未知の主体にバインドされたKeyTabオブジェクトが作成されます。 この場合もこのメソッドからnullが返されます。 isBound()
を呼び出せば、この場合の確認を行えます。
public boolean isBound()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。