- java.lang.Object
- 
- javax.security.auth.kerberos.KerberosKey
 
- 
- すべての実装されたインタフェース:
- Serializable,- Key,- SecretKey,- Destroyable
 
 public class KerberosKey extends Object implements SecretKey このクラスでは、Kerberos主体の長期の秘密鍵をカプセル化します。KerberosKeyオブジェクトには、EncryptionKey、その所有者としてのKerberosPrincipal、およびキーのバージョン番号が含まれています。EncryptionKeyは、Kerberosプロトコル仕様(RFC 4120)のセクション4.2.9で定義されています: EncryptionKey ::= SEQUENCE { keytype [0] Int32 -- actually encryption type --, keyvalue [1] OCTET STRING }KerberosKeyのリアルは、上記のkeyValueの値として定義されます。主体のパスワードを取得して秘密鍵を生成するすべてのKerberos JAASログイン・モジュールでは、このクラスを使用するようにしてください。 ユーザー対ユーザー認証なしでサーバーを認証する場合などに、ログイン・モジュールは、認証プロセスのコミット・フェーズ中に、このクラスのインスタンスを Subjectの非公開資格セットに格納することがあります。キー・タブを使用して秘密鍵を読み込むKerberosサービスでは、 KeyTabクラスを使用するようにしてください。このクラスでは、必要に応じて最新の鍵が読み込まれます。Subjectから KerberosKeyインスタンスにアクセスする必要がある場合は、アプリケーションにPrivateCredentialPermissionが付与されている必要があります。 アプリケーションがKerberosKeyにアクセスするためのデフォルトのJGSS Kerberosメカニズムに依存する場合、このアクセス権は必要ありません。 ただしその場合、アプリケーションには適切なServicePermissionが必要です。KerberosKey(KerberosPrincipal, char[], String)コンストラクタを使用してKerberosKeyを作成する場合、実装で非IANAアルゴリズム名(たとえば、"rc4-hmac"の"ArcFourMac")を受け入れることができますが、getAlgorithm()メソッドは常にIANAアルゴリズム名を返さなければなりません。- 実装上の注意:
- JDK 9の前に使われていた古いアルゴリズム名は"aes256-cts-hmac-sha1-96"ため"DES" "des-cbc-md5"ため(およびnull)、"des3-cbc-sha1-kd"ため"DESede"、"rc4-hmac"ため"ArcFourHmac"、"aes128-cts-hmac-sha1-96"ため"AES128"、および"AES256"ある互換性の理由から、この実装でKerberosKey(KerberosPrincipal, char[], String)コンストラクタでサポートされています。
- 導入されたバージョン:
- 1.4
- 関連項目:
- 直列化された形式
 
- 
- 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 KerberosKey(KerberosPrincipal principal, byte[] keyBytes, int keyType, int versionNum)鍵の型と鍵のバージョン番号が分かっている場合は、指定されたバイトからKerberosKeyを構築します。KerberosKey(KerberosPrincipal principal, char[] password, String algorithm)指定されたアルゴリズム名を使用して、プリンシパル・パスワードからKerberosKeyを作成します。
 - 
メソッドのサマリー修飾子と型 メソッド 説明 voiddestroy()この秘密鍵の鍵素材を消去することによってこの鍵を破棄します。booleanequals(Object other)指定されたオブジェクトとこのKerberosKeyが等しいかどうかを比較します。StringgetAlgorithm()この鍵に対する標準アルゴリズムを返します。byte[]getEncoded()この秘密鍵の鍵データを返します。StringgetFormat()この秘密鍵のエンコード形式の名前を返します。intgetKeyType()この長期鍵の鍵タイプを返します。KerberosPrincipalgetPrincipal()この鍵が属する主体を返します。intgetVersionNumber()鍵のバージョン番号を返します。inthashCode()このKerberosKeyのハッシュ・コードを返します。booleanisDestroyed()この鍵が破棄されたかどうかを判定します。StringtoString()このKerberosKeyの有益なテキスト表現を返します。
 
- 
- 
- 
コンストラクタの詳細- 
KerberosKeypublic KerberosKey(KerberosPrincipal principal, byte[] keyBytes, int keyType, int versionNum) 鍵の型と鍵のバージョン番号が分かっている場合は、指定されたバイトからKerberosKeyを構築します。 秘密鍵の情報がKerberosのキー・タブから読み取れるときに使用できます。- パラメータ:
- principal- この秘密鍵が属する主体
- keyBytes- 秘密鍵の鍵素材
- keyType- Kerberosプロトコル仕様で定義された、秘密鍵の鍵タイプ。
- versionNum- この秘密鍵のバージョン番号
 
 - 
KerberosKeypublic KerberosKey(KerberosPrincipal principal, char[] password, String algorithm) 指定されたアルゴリズム名を使用して、プリンシパル・パスワードからKerberosKeyを作成します。 アルゴリズム名(大文字小文字を区別しません)は、IANA 「Kerberos暗号化型番号」ページで定義された暗号化タイプ文字列として指定する必要があります。 生成されたキーのバージョン番号は0になります。- パラメータ:
- principal- このパスワードが属する主体
- password- 鍵を計算するのに使用されるパスワード
- algorithm- この鍵が使用されるアルゴリズムの名前
- 例外:
- IllegalArgumentException- 渡されたアルゴリズム名がサポートされていない場合。
 
 
- 
 - 
メソッドの詳細- 
getPrincipalpublic final KerberosPrincipal getPrincipal() この鍵が属する主体を返します。- 戻り値:
- この鍵が属する主体。
- 例外:
- IllegalStateException- キーが破棄された場合
 
 - 
getVersionNumberpublic final int getVersionNumber() 鍵のバージョン番号を返します。- 戻り値:
- 鍵のバージョン番号。
- 例外:
- IllegalStateException- キーが破棄された場合
 
 - 
getKeyTypepublic final int getKeyType() この長期鍵の鍵タイプを返します。- 戻り値:
- 鍵タイプ。
- 例外:
- IllegalStateException- キーが破棄された場合
 
 - 
getAlgorithmpublic final String getAlgorithm() この鍵に対する標準アルゴリズムを返します。 アルゴリズム名は、IANAの「Kerberos暗号化型番号」ページで定義された暗号化型文字列です。このメソッドは、IANAページで定義されていない次の値を返すことができます: - none: etypeが0の場合
- 不明: etypeが0より大きいが、実装によってサポートされていない
- プライベート: 0より小さいetype
 - 定義:
- getAlgorithm、インタフェース:- Key
- 戻り値:
- この鍵に関連したアルゴリズムの名前。
- 例外:
- IllegalStateException- キーが破棄された場合
 
 - 
getFormatpublic final String getFormat() この秘密鍵のエンコード形式の名前を返します。- 定義:
- getFormat、インタフェース:- Key
- 戻り値:
- String "RAW"
- 例外:
- IllegalStateException- キーが破棄された場合
 
 - 
getEncodedpublic final byte[] getEncoded() この秘密鍵の鍵データを返します。- 定義:
- getEncoded、インタフェース:- Key
- 戻り値:
- 鍵データ
- 例外:
- IllegalStateException- キーが破棄された場合
 
 - 
destroypublic void destroy() throws DestroyFailedExceptionこの秘密鍵の鍵素材を消去することによってこの鍵を破棄します。- 定義:
- destroy、インタフェース:- Destroyable
- 例外:
- DestroyFailedException- この鍵の破棄中にエラーが起きた場合。
 
 - 
isDestroyedpublic boolean isDestroyed() この鍵が破棄されたかどうかを判定します。- 定義:
- isDestroyed、インタフェース:- Destroyable
- 戻り値:
- このObjectが破棄された場合はtrue、そうでない場合はfalse。
 
 - 
toStringpublic String toString() このKerberosKeyの有益なテキスト表現を返します。
 - 
hashCodepublic int hashCode() このKerberosKeyのハッシュ・コードを返します。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このKerberosKeyのハッシュ・コード。
- 導入されたバージョン:
- 1.6
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
 - 
equalspublic boolean equals(Object other) 指定されたオブジェクトとこのKerberosKeyが等しいかどうかを比較します。 指定されたオブジェクトがKerberosKeyであり、2つのKerberosKeyインスタンスが等価である場合、trueを返します。 破壊されたKerberosKeyオブジェクトは、それ自体と同じです。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- other- 比較するオブジェクト
- 戻り値:
- 指定されたオブジェクトがこのKerberosKeyと等しい場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.6
- 関連項目:
- Object.hashCode()、- HashMap
 
 
- 
 
-