|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
このインタフェースでは、単一の GSS-API 主体エンティティをカプセル化します。アプリケーションでは、GSSManager クラスに含まれる createName メソッドのいずれかを使用して、このインタフェースの実装を取得します。GSSName は、そのエンティティの複数の表現、つまり複数の基本名前要素 (サポートされている配下の機構ごとに 1 つずつ) で構成されます。GSS では、特定の機構の要素を含む GSSName を機構名 (MN) と呼びます。
主体の識別に使用されるネームスペースは、認証機構ごとに異なります。このため、複数機構環境では、GSS-API のネーミングサポートが複雑になります。また、単一機構環境の場合でも、配下の機構が複数のネームスペースをサポートしているときは、同様に複雑になります。名前の形式とその定義は、Oid's によって識別されます。一部の標準型は、このインタフェースに定義されています。名前の形式は、その名前型の一意の Oid に基づいて派生します。
次のコード例では、GSSName インタフェースを使用しています。まず、GSSName を作成し、それを MN に変換します。次に、名前を比較し、その名前のプリント可能な表現を取得します。最後に、その名前を byte 配列にエクスポートしてから再インポートし、新しい GSSName を取得します。
GSSManager manager = GSSManager.getInstance();
// create a host based service name
GSSName name = manager.createName("service@host",
GSSName.NT_HOSTBASED_SERVICE);
Oid krb5 = new Oid("1.2.840.113554.1.2.2");
GSSName mechName = name.canonicalize(krb5);
// the above two steps are equivalent to the following
GSSName mechName = manager.createName("service@host",
GSSName.NT_HOSTBASED_SERVICE, krb5);
// perform name comparison
if (name.equals(mechName))
print("Names are equals.");
// obtain textual representation of name and its printable
// name type
print(mechName.toString() +
mechName.getStringNameType().toString());
// export and re-import the name
byte [] exportName = mechName.export();
// create a new name object from the exported buffer
GSSName newName = manager.createName(exportName,
GSSName.NT_EXPORT_NAME);
export(),
equals(GSSName),
GSSManager.createName(String, Oid),
GSSManager.createName(String, Oid, Oid),
GSSManager.createName(byte[], Oid)| フィールドの概要 | |
static Oid |
NT_ANONYMOUS
匿名のエンティティを表す名前型です。 |
static Oid |
NT_EXPORT_NAME
エクスポートされた名前を示す名前型です。 |
static Oid |
NT_HOSTBASED_SERVICE
ホストベースのサービスの名前型を示す OID です。 |
static Oid |
NT_MACHINE_UID_NAME
ローカルシステム上のユーザに対応する数値ユーザ ID を示す名前型です (Uid など)。 |
static Oid |
NT_STRING_UID_NAME
ローカルシステム上のユーザの数値ユーザ ID を表す、数字の文字列を示す名前型です。 |
static Oid |
NT_USER_NAME
ローカルシステム上の特定のユーザを示す名前型です。 |
| メソッドの概要 | |
GSSName |
canonicalize(Oid mech)
特定の機構に対して標準化される名前を作成します。 |
boolean |
equals(GSSName another)
2 つの GSSName オブジェクトを比較して、それらが同じエンティティを参照しているかどうかを検査します。 |
boolean |
equals(Object another)
この GSSName オブジェクトを別のオブジェクトと比較します。 |
byte[] |
export()
標準化された機構名 (MN) を連続するバイト表現として返します。 |
Oid |
getStringNameType()
この名前のプリント可能な表現の名前型を返します。 |
int |
hashCode()
この GSSName のハッシュコード値を返します。 |
boolean |
isAnonymous()
この名前オブジェクトが匿名のエンティティを表しているかどうかテストします。 |
boolean |
isMN()
この名前オブジェクトが機構名 (MN) を表しているかどうかテストします。 |
String |
toString()
GSSName オブジェクトのテキスト表現を返します。 |
| フィールドの詳細 |
public static final Oid NT_HOSTBASED_SERVICE
この名前型は、次の OID 値を表します。
{ 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 2(gss-host-based-services) }
public static final Oid NT_USER_NAME
この名前型は、次の OID 値を表します。
{ iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) user_name(1) }
public static final Oid NT_MACHINE_UID_NAME
この名前型は、次の OID 値を表します。
{ iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) machine_uid_name(2) }
public static final Oid NT_STRING_UID_NAME
この名前型は、次の OID 値を表します。
{ iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) string_uid_name(3) }
public static final Oid NT_ANONYMOUS
この名前型は、次の OID 値を表します。
{ 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 3(gss-anonymous-name) }
public static final Oid NT_EXPORT_NAME
この名前型は、次の OID 値を表します。
{ 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 4(gss-api-exported-name) }
| メソッドの詳細 |
public boolean equals(GSSName another)
throws GSSException
GSSName オブジェクトを比較して、それらが同じエンティティを参照しているかどうかを検査します。
another - この名前と比較する GSSName
GSSException - 名前を比較できない場合、メジャーエラーコード GSSException.BAD_NAMETYPE、GSSException.FAILURE を含むpublic boolean equals(Object another)
GSSName オブジェクトを別のオブジェクトと比較します。比較するオブジェクトは、GSSName でなくてもかまいません。このメソッドは、GSSException をスローしない点を除いて、equals と同じです。エラーが発生した場合は、false を返します。
Object 内の equalsanother - この名前と比較するオブジェクト
GSSName で、2 つの名前が同じエンティティを参照している場合は trueequals(GSSName)public int hashCode()
Object 内の hashCode
public GSSName canonicalize(Oid mech)
throws GSSException
mech - この名前を標準化するときの基準とする機構の OID
GSSName
GSSException - メジャーエラーコード GSSException.BAD_MECH、GSSException.BAD_NAMETYPE、GSSException.BAD_NAME、GSSException.FAILURE を含む
public byte[] export()
throws GSSException
エクスポートされた名前は、大きなアクセス制御リストで使用します。アクセス制御リストが大きい場合は、各名前に対して GSSName オブジェクトを作成し、ACL から equals メソッドを呼び出すときのオーバーヘッドが大きくなることがあります。
エクスポートされた名前を再インポートするには、byte 配列のファクトリメソッド GSSManager.createName を使用し、名前型のオブジェクト識別子として NT_EXPORT_NAME を指定します。
GSSException - メジャーエラーコード GSSException.BAD_NAME、GSSException.BAD_NAMETYPE、GSSException.FAILURE を含むpublic String toString()
GSSName オブジェクトのテキスト表現を返します。プリントされた名前の形式 (返される文字列の構文を決定する) を取り出す場合は、getStringNameType メソッドを使用します。
Object 内の toString
public Oid getStringNameType()
throws GSSException
toString メソッドからは、この名前型で返されます。
GSSException - メジャーエラーコード GSSException.FAILURE を含むpublic boolean isAnonymous()
public boolean isMN()
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
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.