JavaTM 2
Platform
Std. Ed. v1.4.0

javax.security.auth.kerberos
クラス KerberosKey

java.lang.Object
  |
  +--javax.security.auth.kerberos.KerberosKey
すべての実装インタフェース:
Destroyable, Key, SecretKey, Serializable

public class KerberosKey
extends Object
implements SecretKey, Destroyable

このクラスでは、Kerberos 主体の長期の秘密鍵をカプセル化します。

主体のパスワードを取得して秘密鍵を生成するすべての Kerberos JAAS ログインモジュールでは、このクラスを使用する必要があります。利用できる場合、ログインモジュールは Kerberos "keytab" からこの秘密鍵を直接読み取ることもあります。ときには、ユーザ対ユーザ認証のないサーバ認証において認証プロセスのコミットフェーズ中に、ログインモジュールがこのクラスのインスタンスを Subject の非公開資格セットに格納します。

Subject から KerberosKey インスタンスにアクセスする必要がある場合は、アプリケーションに PrivateCredentialPermission を与えることが必要な場合があります。アプリケーションが KerberosKey にアクセスするのにデフォルトの JGSS Kerberos 機構に依存しているときには、このアクセス権は必要ありません。ただしその場合、アプリケーションには適切な ServicePermission が必要です。

導入されたバージョン:
1.4
関連項目:
直列化された形式

フィールドの概要
 
インタフェース java.security.Key から継承したフィールド
serialVersionUID
 
コンストラクタの概要
KerberosKey(KerberosPrincipal principal, byte[] keyBytes, int keyType, int versionNum)
          鍵タイプと鍵のバージョン番号が判明している場合、与えられたバイトで KerberosKey を構築します。
KerberosKey(KerberosPrincipal principal, char[] password, String algorithm)
          主体のパスワードから KerberosKey を構築します。
 
メソッドの概要
 void destroy()
          この鍵を破棄します。
 String getAlgorithm()
          この鍵に対する標準アルゴリズムを返します。
 byte[] getEncoded()
          この秘密鍵の鍵データを返します。
 String getFormat()
          この秘密鍵の符号化形式の名前を返します。
 int getKeyType()
          この長期鍵の鍵タイプを返します。
 KerberosPrincipal getPrincipal()
          この鍵が属する主体を返します。
 int getVersionNumber()
          鍵のバージョン番号を返します。
 boolean isDestroyed()
          この鍵が破棄されたかどうかを判定します。
 String toString()
          オブジェクトの文字列表現を返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

KerberosKey

public KerberosKey(KerberosPrincipal principal,
                   byte[] keyBytes,
                   int keyType,
                   int versionNum)
鍵タイプと鍵のバージョン番号が判明している場合、与えられたバイトで KerberosKey を構築します。秘密鍵の情報が Kerberos の "Keytab" から読み取れるときに使用できます。

パラメータ:
principal - この秘密鍵が属する主体
keyBytes - 秘密鍵の生のバイト
keyType - Kerberos プロトコル仕様で定義された、秘密鍵の鍵タイプ
versionNum - この秘密鍵のバージョン番号

KerberosKey

public KerberosKey(KerberosPrincipal principal,
                   char[] password,
                   String algorithm)
主体のパスワードから KerberosKey を構築します。

パラメータ:
principal - このパスワードが属する主体
password - 鍵を計算するのに使用されるパスワード
algorithm - この鍵を使用するアルゴリズム名。このパラメータは、DES を使用する場合は null も可
メソッドの詳細

getPrincipal

public final KerberosPrincipal getPrincipal()
この鍵が属する主体を返します。

戻り値:
この鍵が属する主体

getVersionNumber

public final int getVersionNumber()
鍵のバージョン番号を返します。

戻り値:
鍵のバージョン番号

getKeyType

public final int getKeyType()
この長期鍵の鍵タイプを返します。

戻り値:
鍵タイプ

getAlgorithm

public final String getAlgorithm()
この鍵に対する標準アルゴリズムを返します。たとえば、「DES」はこの鍵が DES 鍵であることを示します。標準アルゴリズム名については、「Java 暗号化アーキテクチャ API 仕様 & リファレンス」の付録 A を参照してください。

定義:
インタフェース Key 内の getAlgorithm
戻り値:
この鍵に関連したアルゴリズムの名前

getFormat

public final String getFormat()
この秘密鍵の符号化形式の名前を返します。

定義:
インタフェース Key 内の getFormat
戻り値:
String "RAW"

getEncoded

public final byte[] getEncoded()
この秘密鍵の鍵データを返します。

定義:
インタフェース Key 内の getEncoded
戻り値:
鍵データ

destroy

public void destroy()
             throws DestroyFailedException
この鍵を破棄します。このあとで、そのほかの任意のメソッドを呼び出すと、IllegalStateException がスローされる原因になります。

定義:
インタフェース Destroyable 内の destroy
例外:
DestroyFailedException - この鍵の破棄中にエラーが起きた場合

isDestroyed

public boolean isDestroyed()
この鍵が破棄されたかどうかを判定します。

定義:
インタフェース Destroyable 内の isDestroyed
戻り値:
この Object が破棄された場合は true、そうでない場合は false

toString

public String toString()
クラス Object の記述:
オブジェクトの文字列表現を返します。通常、toString メソッドはこのオブジェクトを「テキストで表現する」文字列を返します。この結果は、人間が読める簡潔で有益な情報であるべきです。すべてのサブクラスで、このメソッドをオーバーライドすることをお勧めします。

Object クラスの toString メソッドは、オブジェクトの派生元のクラス名、アットマーク (@)、およびオブジェクトのハッシュコードの符号なし 16 進表現から構成される文字列を返します。つまり、このメソッドは次の値と等しい文字列を返します。

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.