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, 2013, Oracle and/or its affiliates. All rights reserved.