public interface GSSName
GSSManagerクラスに含まれるcreateNameメソッドのいずれかを使用してこのインタフェースの実装を取得します。 GSSNameは、エンティティの複数の表現、つまり複数のプリミティブ名前要素(サポートされている配下のメカニズムごとに1つずつ)で構成されます。 GSSでは、1つだけのメカニズムの要素を含む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);
| 修飾子と型 | フィールド | 説明 |
|---|---|---|
static Oid |
NT_ANONYMOUS |
匿名のエンティティを表す名前型です。
|
static Oid |
NT_EXPORT_NAME |
エクスポートされた名前を示す名前型です。exportメソッドによって生成されます。
|
static Oid |
NT_HOSTBASED_SERVICE |
ホスト・ベースのサービスの名前型を示すOIDです。
|
static Oid |
NT_MACHINE_UID_NAME |
ローカル・システム上のユーザーに対応する数値ユーザーIDを示す名前型です。
|
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オブジェクトを、GSSNameである可能性がある別のオブジェクトと比較します。 |
byte[] |
export() |
標準化されたメカニズム名(MN)を連続するバイト表現として返します。この表現は、承認機能が名前をバイト単位に直接比較するときに適しています。
|
Oid |
getStringNameType() |
この名前のプリント可能な表現の名前型を返します。
toStringメソッドからは、この名前型で返されます。 |
int |
hashCode() |
このGSSNameのハッシュ・コード値を返します。
|
boolean |
isAnonymous() |
この名前オブジェクトが匿名のエンティティを表しているかどうかテストします。
|
boolean |
isMN() |
この名前オブジェクトがメカニズム名(MN)を表しているかどうかテストします。
|
String |
toString() |
GSSNameオブジェクトのテキスト表現を返します。 |
static final Oid NT_HOSTBASED_SERVICE
これは次のOID値を表します。
{ iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) service_name(4) }
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) }
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) }
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) }
static final Oid NT_ANONYMOUS
これは次のOID値を表します。
{ 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 3(gss-anonymous-name) }
static final Oid NT_EXPORT_NAME
これは次のOID値を表します。
{ 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 4(gss-api-exported-name) }
boolean equals(GSSName another) throws GSSException
GSSNameオブジェクトを比較して、それらが同じエンティティを参照しているかどうかを検査します。another - この名前と比較するGSSNameGSSException - 名前を比較できない場合、次のメジャー・エラー・コードを含む。GSSException.BAD_NAMETYPE, GSSException.FAILUREboolean equals(Object another)
GSSNameオブジェクトを、GSSNameである可能性がある別のオブジェクトと比較します。 このメソッドの動作は、GSSExceptionをスローしない点を除いて、equalsと同じです。エラーが発生した場合はfalseを返します。 equals、クラスObjectanother - この名前と比較するオブジェクトGSSNameで、2つの名前が同じエンティティを参照している場合はtrue。equals(GSSName)int hashCode()
hashCode、クラスObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)GSSName canonicalize(Oid mech) throws GSSException
mech - この名前の標準化がリクエストされるときの基準とするメカニズムのOID。GSSName。GSSException - 次のメジャー・エラー・コードを含む。GSSException.BAD_MECH, GSSException.BAD_NAMETYPE, GSSException.BAD_NAME, GSSException.FAILUREbyte[] export()
throws GSSException
エクスポートされた名前は、大きなアクセス制御リストで使用します。アクセス制御リストが大きい場合は、各名前に対してGSSNameオブジェクトを作成し、ACLからequalsメソッドを呼び出すときのオーバーヘッドが大きくなることがあります。
エクスポートされた名前を再インポートするには、byte配列のファクトリ・メソッドGSSManager.createNameを使用し、名前型のオブジェクト識別子としてNT_EXPORT_NAMEを指定します。 その結果として返されるGSSName名もMNです。
GSSException - 次のメジャー・エラー・コードを含む。GSSException.BAD_NAME, GSSException.BAD_NAMETYPE, GSSException.FAILUREString toString()
GSSNameオブジェクトのテキスト表現を返します。 出力された名前の形式(返される文字列の構文を決定する)を取り出す場合は、getStringNameTypeメソッドを使用します。 Oid getStringNameType() throws GSSException
toStringメソッドからは、この名前型で返されます。GSSException - 次のメジャー・エラー・コードを含む。GSSException.FAILUREboolean isAnonymous()
boolean isMN()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。