JavaTM Platform
Standard Ed. 6

org.ietf.jgss
インタフェース GSSCredential

すべてのスーパーインタフェース:
Cloneable

public interface GSSCredential
extends Cloneable

このインタフェースでは、エンティティーの GSS-API 資格をカプセル化します。資格には、エンティティーを表すコンテキストをそのエンティティーに代わって作成するのに必要なすべての暗号化情報が含まれています。また、機構に固有のさまざまな資格要素が含まれている場合もあります。 それらの資格要素には特定のセキュリティー機構の情報が含まれていますが、どの要素も同じエンティティーを参照しています。資格は、コンテキストの起動側または受け入れ側、あるいはその両方が使用します。

資格は、GSSManager クラスの createCredential メソッドのいずれかを使用してインスタンス化されます。GSS-API の資格を作成しても、ネットワークにログインする機能は提供されません。 そのような機能には新しい資格の作成が必要ですが、GSS-API の資格作成では既存の資格へのハンドルを取得するだけです。Java プラットフォームで既存の資格を取得する方法については、パッケージレベルの説明にある資格の取得に関する節を参照してください。GSS-API の実装では、呼び出し側にローカルアクセス制御ポリシーを適用して、承認されていない呼び出し側が許可されていない資格を取得するのを防止する必要があります。

アプリケーションは、必要なパラメータを渡して資格オブジェクトを作成します。その後は、インスタンス化された資格オブジェクトに対してクエリーメソッドを使用して特定の情報を取得できます。その資格が必要なくなったときは、dispose メソッドを呼び出してその資格オブジェクトが保持しているリソースをすべて解放し、暗号で保護された機密情報をすべて破棄する必要があります。

次のコード例では、特定のエンティティーの GSSCredential 実装を作成し、そのフィールドを照会し、不要になったときに解放しています。

 

    GSSManager manager = GSSManager.getInstance();

    // start by creating a name object for the entity
    GSSName name = manager.createName("myusername", GSSName.NT_USER_NAME);

    // now acquire credentials for the entity
    GSSCredential cred = manager.createCredential(name,
                    GSSCredential.ACCEPT_ONLY);

    // display credential information - name, remaining lifetime,
    // and the mechanisms it has been acquired over
    System.out.println(cred.getName().toString());
    System.out.println(cred.getRemainingLifetime());

    Oid [] mechs = cred.getMechs();
    if (mechs != null) {
            for (int i = 0; i < mechs.length; i++)
                    System.out.println(mechs[i].toString());
    }

    // release system resources held by the credential
    cred.dispose();
 

導入されたバージョン:
1.4
関連項目:
GSSManager.createCredential(int), GSSManager.createCredential(GSSName, int, Oid, int), GSSManager.createCredential(GSSName, int, Oid[], int), dispose()

フィールドの概要
static int ACCEPT_ONLY
          資格使用フラグ。
static int DEFAULT_LIFETIME
          資格のデフォルトの寿命を表す寿命定数です。
static int INDEFINITE_LIFETIME
          資格の寿命が無期限であることを表す寿命定数です。
static int INITIATE_AND_ACCEPT
          資格使用フラグ。
static int INITIATE_ONLY
          資格使用フラグ。
 
メソッドの概要
 void add(GSSName name, int initLifetime, int acceptLifetime, Oid mech, int usage)
          GSS-API 機構固有の資格要素を既存の資格に追加します。
 void dispose()
          GSSCredential オブジェクトが保有している機密情報をすべて解放します。
 boolean equals(Object another)
          この GSSCredential が指定されたオブジェクトと同じエンティティーを表明するかどうかをテストします。
 Oid[] getMechs()
          この資格がサポートしている GSS-API 機構のリストを返します。
 GSSName getName()
          資格が表明するエンティティーの名前を取り出します。
 GSSName getName(Oid mech)
          資格が表明しているエンティティーの GSS-API 機構名を取り出します。
 int getRemainingAcceptLifetime(Oid mech)
          資格の残りの寿命 (秒単位) で返します。
 int getRemainingInitLifetime(Oid mech)
          資格の残りの寿命 (秒単位) で返します。
 int getRemainingLifetime()
          資格の残りの寿命 (秒単位) で返します。
 int getUsage()
          資格使用モードを返します。
 int getUsage(Oid mech)
          特定の GSS-API 機構の資格使用モードを返します。
 int hashCode()
          この GSSCredential のハッシュコード値を返します。
 

フィールドの詳細

INITIATE_AND_ACCEPT

static final int INITIATE_AND_ACCEPT
資格使用フラグ。コンテキストの起動側および受け入れ側が使用できるように要求します。

関連項目:
定数フィールド値

INITIATE_ONLY

static final int INITIATE_ONLY
資格使用フラグ。コンテキストの起動側だけが使用できるように要求します。

関連項目:
定数フィールド値

ACCEPT_ONLY

static final int ACCEPT_ONLY
資格使用フラグ。コンテキストの受け入れ側だけが使用できるように要求します。

関連項目:
定数フィールド値

DEFAULT_LIFETIME

static final int DEFAULT_LIFETIME
資格のデフォルトの寿命を表す寿命定数です。この値は 0 に設定されます。

関連項目:
定数フィールド値

INDEFINITE_LIFETIME

static final int INDEFINITE_LIFETIME
資格の寿命が無期限であることを表す寿命定数です。この値は、Java の最大整数値 Integer.MAX_VALUE に設定する必要があります。

関連項目:
定数フィールド値
メソッドの詳細

dispose

void dispose()
             throws GSSException
GSSCredential オブジェクトが保有している機密情報をすべて解放します。アプリケーションでは、資格が不要になったらすぐにこのメソッドを呼び出して、機密情報が保持されている時間を最小限に抑える必要があります。

例外:
GSSException - 次のメジャーエラーコードを含む。GSSException.FAILURE

getName

GSSName getName()
                throws GSSException
資格が表明するエンティティーの名前を取り出します。

戻り値:
エンティティーを表す GSSName
例外:
GSSException - 次のメジャーエラーコードを含む。GSSException.FAILURE

getName

GSSName getName(Oid mech)
                throws GSSException
資格が表明しているエンティティーの GSS-API 機構名を取り出します。この名前は、ほかの形式の getName から返された値に対して canonicalize を呼び出した場合と等価です。

パラメータ:
mech - 機構名を要求する GSS-API 機構の OID
戻り値:
GSSName。要求された GSS-API 機構に正規化されたエンティティーを表す
例外:
GSSException - 次のメジャーエラーコードを含む。GSSException.BAD_MECHGSSException.FAILURE

getRemainingLifetime

int getRemainingLifetime()
                         throws GSSException
資格の残りの寿命 (秒単位) で返します。残りの寿命は、配下の GSS-API 機構に固有のすべての資格要素間の最小寿命になります。

戻り値:
この資格の残りの寿命の最小値 (秒単位)。戻り値 INDEFINITE_LIFETIME は資格の寿命が残っていることを示し、戻り値 0 は資格が期限切れになっていることを示す
例外:
GSSException - 次のメジャーエラーコードを含む。GSSException.FAILURE
関連項目:
getRemainingInitLifetime(Oid), getRemainingAcceptLifetime(Oid)

getRemainingInitLifetime

int getRemainingInitLifetime(Oid mech)
                             throws GSSException
資格の残りの寿命 (秒単位) で返します。 この期間は、指定された GSS-API 機構を使用して、セキュリティーコンテキストを起動できます。このメソッドは、指定された GSS-API 機構に属している、起動側資格要素を照会します。

パラメータ:
mech - 照会する起動側資格要素が属している GSS-API 機構の OID
戻り値:
この資格要素の残りの寿命 (秒単位)。戻り値 INDEFINITE_LIFETIME は資格要素の寿命が残っていることを示し、戻り値 0 は資格要素が期限切れになっていることを示す
例外:
GSSException - 次のメジャーエラーコードを含む。GSSException.BAD_MECHGSSException.FAILURE

getRemainingAcceptLifetime

int getRemainingAcceptLifetime(Oid mech)
                               throws GSSException
資格の残りの寿命 (秒単位) で返します。 この期間は、指定された GSS-API 機構を使用して、セキュリティーコンテキストを受け入れることができます。このメソッドは、指定された GSS-API 機構に属している、受け入れ側資格要素を照会します。

パラメータ:
mech - 照会する受け入れ側資格要素が属している GSS-API 機構の OID
戻り値:
この資格要素の残りの寿命 (秒単位)。戻り値 INDEFINITE_LIFETIME は資格要素の寿命が残っていることを示し、戻り値 0 は資格要素が期限切れになっていることを示す
例外:
GSSException - 次のメジャーエラーコードを含む。GSSException.BAD_MECHGSSException.FAILURE

getUsage

int getUsage()
             throws GSSException
資格使用モードを返します。つまり、セキュリティーコンテキストを、この資格を使用して起動するのか受け入れるのかを返します。ただし、コンテキストの起動または受け入れに使用する GSS-API 機構は返しません。このメソッドを呼び出したあとで、デフォルトの GSS-API 機構が選択されることを前提としています。

戻り値:
戻り値は、INITIATE_ONLYACCEPT_ONLYINITIATE_AND_ACCEPT のいずれか
例外:
GSSException - 次のメジャーエラーコードを含む。GSSException.FAILURE

getUsage

int getUsage(Oid mech)
             throws GSSException
特定の GSS-API 機構の資格使用モードを返します。つまり、指定された配下の GSS-API 機構を使用するセキュリティーコンテキストを、この資格を使用して起動するのか受け入れるのかを返します。

パラメータ:
mech - 資格使用モードを検査する GSS-API 機構の OID
戻り値:
戻り値は、INITIATE_ONLYACCEPT_ONLYINITIATE_AND_ACCEPT のいずれか
例外:
GSSException - 次のメジャーエラーコードを含む。GSSException.BAD_MECHGSSException.FAILURE

getMechs

Oid[] getMechs()
               throws GSSException
この資格がサポートしている GSS-API 機構のリストを返します。ただし、コンテキストの起動に使用する資格と受け入れに使用する資格は、識別しません。使用モードを確認するには、返された OID を使用して、アプリケーションから #getUsage(Oid) getUsage メソッドを呼び出す必要があります。

戻り値:
サポートされている GSS-API 機構に対応する OID の配列
例外:
GSSException - 次のメジャーエラーコードを含む。GSSException.FAILURE

add

void add(GSSName name,
         int initLifetime,
         int acceptLifetime,
         Oid mech,
         int usage)
         throws GSSException
GSS-API 機構固有の資格要素を既存の資格に追加します。1 回の呼び出しで、1 つの GSS-API 機構の資格を作成できます。

このルーチンは、コンテキストの受け入れ側が、さまざまなセキュリティー機構とクライアントの組み合わせで受け入れ側資格を作成するときに使用します。

このルーチンを使用すると、新しい資格要素が適切に追加されます。新しい資格にその資格要素を追加するには、まず clone を呼び出してこの資格のコピーを取得し、次にその add メソッドを呼び出します。

これまでと同様、GSS-API の実装では、呼び出し側にローカルアクセス制御ポリシーを適用して、承認されていない呼び出し側が許可されていない資格を取得するのを防ぐ必要があります。 initLifetime や acceptLifetime にデフォルト以外の値を指定すると配下の機構に受け付けられないことがあるため、呼び出し側では、資格に対して getRemainingInitLifetime および getRemainingAcceptLifetime を呼び出す準備をしておく必要があります。

パラメータ:
name - この資格を取得する主体の名前。デフォルトの主体を指定する場合は null を使用する
initLifetime - セキュリティーコンテキストの受け入れ側に対する 資格要素の残りの寿命 (秒単位)。資格の寿命を設定可能な最大期限にすることを要求する場合は、GSSCredential.INDEFINITE_LIFETIME を使用する。デフォルトの寿命を要求する場合は、 GSSCredential.DEFAULT_LIFETIME を使用する
acceptLifetime - セキュリティーコンテキストの受け入れ側に対する 資格要素の残りの寿命 (秒単位)。資格の寿命を設定可能な最大期限にすることを要求する場合は、GSSCredential.INDEFINITE_LIFETIME を使用する。デフォルトの寿命を要求する場合は、 GSSCredential.DEFAULT_LIFETIME を使用する
mech - 資格を取得する GSS-API 機構
usage - この資格要素が資格に追加する 必要のある使用モード。このパラメータの値は、INITIATE_AND_ACCEPTACCEPT_ONLYINITIATE_ONLY のいずれかにする必要がある
例外:
GSSException - 次のメジャーエラーコードを含む。GSSException.DUPLICATE_ELEMENTGSSException.BAD_MECHGSSException.BAD_NAMETYPEGSSException.NO_CREDGSSException.CREDENTIALS_EXPIREDGSSException.FAILURE

equals

boolean equals(Object another)
この GSSCredential が指定されたオブジェクトと同じエンティティーを表明するかどうかをテストします。これら 2 つの資格は、同じ GSS-API 機構を使用して取得し、同じ主体を参照する必要があります。

オーバーライド:
クラス Object 内の equals
パラメータ:
another - この GSSCredential と比較する GSSCredential
戻り値:
2 つの GSSCredential が同じエンティティーを表明する場合は true、 そうでない場合は false
関連項目:
Object.hashCode(), Hashtable

hashCode

int hashCode()
この GSSCredential のハッシュコード値を返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
hashCode 値
関連項目:
Object.equals(java.lang.Object), Hashtable

JavaTM Platform
Standard Ed. 6

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

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。