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を示す名前型です(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 オブジェクトを、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
- この名前と比較するGSSName
GSSException
- 名前を比較できない場合、次のメジャー・エラー・コードを含む。GSSException.BAD_NAMETYPE
, GSSException.FAILURE
boolean equals(Object another)
GSSName
オブジェクトを、GSSName
である可能性がある別のオブジェクトと比較します。このメソッドの動作は、GSSExceptionをスローしない点を除いて、equals
と同じです。エラーが発生した場合はfalseを返します。equals
、クラス: Object
another
- この名前と比較するオブジェクトGSSName
で、2つの名前が同じエンティティを参照している場合はtrue。equals(GSSName)
int hashCode()
hashCode
、クラス: Object
Object.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.FAILURE
byte[] export() throws GSSException
エクスポートされた名前は、大きなアクセス制御リストで使用します。アクセス制御リストが大きい場合は、各名前に対してGSSName
オブジェクトを作成し、ACLからequalsメソッドを呼び出すときのオーバーヘッドが大きくなることがあります。
エクスポートされた名前を再インポートするには、byte配列のファクトリ・メソッドGSSManager.createName
を使用し、名前型のオブジェクト識別子としてNT_EXPORT_NAMEを指定します。その結果として返されるGSSName
名もMNです。
GSSException
- 次のメジャー・エラー・コードを含む。GSSException.BAD_NAME
, GSSException.BAD_NAMETYPE
, GSSException.FAILURE
String toString()
GSSName
オブジェクトのテキスト表現を返します。出力された名前の形式(返される文字列の構文を決定する)を取り出す場合は、getStringNameType
メソッドを使用します。Oid getStringNameType() throws GSSException
toString
メソッドからは、この名前型で返されます。GSSException
- 次のメジャー・エラー・コードを含む。GSSException.FAILURE
boolean isAnonymous()
boolean isMN()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.