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);セキュリティ・マネージャがインストールされている場合、そのレルムを提供せずにKerberos name要素を含む
GSSName
を作成するには、ServicePermission
を付与する必要があり、そのアクセス許可のサービス・プリンシパルがKerberosネーム要素レルム内にある必要があります。 たとえば、createName("user", NT_USER_NAME)
の結果にKerberos名前要素user@EXAMPLE.COM
が含まれている場合、サービス主体host/www.example.com@EXAMPLE.COM
(および任意のアクション)を持つServicePermission
を付与する必要があります。 それ以外の場合は、GSSException.FAILURE
エラー・コードを含むGSSException
がスローされます。 -
フィールドのサマリー
フィールド修飾子と型フィールド説明static final Oid
匿名のエンティティを表す名前型です。static final Oid
エクスポートされた名前を示す名前型です。exportメソッドによって生成されます。static final Oid
ホスト・ベースのサービスの名前型を示すOIDです。static final Oid
ローカル・システム上のユーザーに対応する数値ユーザーIDを示す名前型です。static final Oid
ローカル・システム上のユーザーの数値ユーザーIDを表す、数字の文字列を示す名前型です。static final Oid
ローカル・システム上の特定のユーザーを示す名前型です。 -
メソッドのサマリー
修飾子と型メソッド説明canonicalize
(Oid mech) 特定のメカニズムに対して標準化される名前を作成します。boolean
このGSSName
オブジェクトを、GSSName
である可能性がある別のオブジェクトと比較します。boolean
2つのGSSName
オブジェクトを比較して、それらが同じエンティティを参照しているかどうかを検査します。byte[]
export()
標準化されたメカニズム名(MN)を連続するバイト表現として返します。この表現は、承認機能が名前をバイト単位に直接比較するときに適しています。この名前のプリント可能な表現の名前型を返します。toString
メソッドからは、この名前型で返されます。int
hashCode()
このGSSNameのハッシュ・コード値を返します。boolean
この名前オブジェクトが匿名のエンティティを表しているかどうかテストします。boolean
isMN()
この名前オブジェクトがメカニズム名(MN)を表しているかどうかテストします。toString()
GSSName
オブジェクトのテキスト表現を返します。
-
フィールド詳細
-
NT_HOSTBASED_SERVICE
static final Oid NT_HOSTBASED_SERVICEホスト・ベースのサービスの名前型を示すOIDです。 この名前型は、ホスト・コンピュータに関連付けられたサービスを表すために使用します。 この名前型は、「service」と「hostname」という2つの要素で作成し、service@hostnameの形式になります。これは次のOID値を表します。
{ iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) service_name(4) }
-
NT_USER_NAME
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) }
-
NT_MACHINE_UID_NAME
static final Oid NT_MACHINE_UID_NAMEローカル・システム上のユーザーに対応する数値ユーザーIDを示す名前型です(Uidなど)。(Uidなど)。これは次のOID値を表します。
{ iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) machine_uid_name(2) }
-
NT_STRING_UID_NAME
static final Oid NT_STRING_UID_NAMEローカル・システム上のユーザーの数値ユーザーIDを表す、数字の文字列を示す名前型です。これは次のOID値を表します。
{ iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) string_uid_name(3) }
-
NT_ANONYMOUS
static final Oid NT_ANONYMOUS匿名のエンティティを表す名前型です。これは次のOID値を表します。
{ 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 3(gss-anonymous-name) }
-
NT_EXPORT_NAME
static final Oid NT_EXPORT_NAMEエクスポートされた名前を示す名前型です。exportメソッドによって生成されます。これは次のOID値を表します。
{ 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 4(gss-api-exported-name) }
-
-
メソッドの詳細
-
equals
boolean equals(GSSName another) throws GSSException 2つのGSSName
オブジェクトを比較して、それらが同じエンティティを参照しているかどうかを検査します。- パラメータ:
another
- この名前と比較するGSSName
- 戻り値:
- 2つの名前に同じ基本要素が1つ以上含まれている場合は、true。 どちらかの名前が匿名のエンティティを表している場合は、false。
- 例外:
GSSException
- 名前を比較できない場合、次のメジャー・エラー・コードを含む。GSSException.BAD_NAMETYPE
,GSSException.FAILURE
-
equals
boolean equals(Object another) このGSSName
オブジェクトを、GSSName
である可能性がある別のオブジェクトと比較します。 このメソッドの動作は、GSSExceptionをスローしない点を除いて、equals
と同じです。エラーが発生した場合はfalseを返します。 -
hashCode
int hashCode()このGSSNameのハッシュ・コード値を返します。 -
canonicalize
特定のメカニズムに対して標準化される名前を作成します。- パラメータ:
mech
- この名前の標準化がリクエストされるときの基準とするメカニズムのOID。- 戻り値:
- 特定のメカニズムに標準化された名前を表す基本要素だけで構成される
GSSName
。 - 例外:
GSSException
- 次のメジャー・エラー・コードを含む。GSSException.BAD_MECH
,GSSException.BAD_NAMETYPE
,GSSException.BAD_NAME
,GSSException.FAILURE
-
export
byte[] export() throws GSSException標準化されたメカニズム名(MN)を連続するバイト表現として返します。この表現は、承認機能が名前をバイト単位に直接比較するときに適しています。 MNでない名前の場合、NAME_NOT_MNステータス・コードが設定されたGSSExceptionがスローされることがあります。 例外がスローされないようにするには、システム固有のデフォルトのメカニズムを使用して名前を正規化してから、エクスポートする必要があります。 エクスポートされた名前オブジェクトは、ヘッダーとトレーラから構成されます。ヘッダーには、名前を認証したメカニズムを識別するOIDが含まれます。トレーラには、名前自体が含まれます。トレーラの構文は、各メカニズムの仕様によって定義されます。 出力バッファのヘッダーの形式は、RFC 2743に指定されています。エクスポートされた名前は、大きなアクセス制御リストで使用します。アクセス制御リストが大きい場合は、各名前に対して
GSSName
オブジェクトを作成し、ACLからequalsメソッドを呼び出すときのオーバーヘッドが大きくなることがあります。エクスポートされた名前を再インポートするには、byte配列のファクトリ・メソッド
GSSManager.createName
を使用し、名前型のオブジェクト識別子としてNT_EXPORT_NAMEを指定します。 その結果として返されるGSSName
名もMNです。- 戻り値:
- エクスポートされた名前を含むbyte[]。 RFC 2743には、このbyte配列に使用する、メカニズムに依存しないエクスポートされた名前オブジェクトの形式が定義されている。
- 例外:
GSSException
- 次のメジャー・エラー・コードを含む。GSSException.BAD_NAME
,GSSException.BAD_NAMETYPE
,GSSException.FAILURE
-
toString
String toString()GSSName
オブジェクトのテキスト表現を返します。 出力された名前の形式(返される文字列の構文を決定する)を取り出す場合は、getStringNameType
メソッドを使用します。 -
getStringNameType
Oid getStringNameType() throws GSSExceptionこの名前のプリント可能な表現の名前型を返します。toString
メソッドからは、この名前型で返されます。- 戻り値:
- toStringメソッドから返される名前の名前空間を表すOID。
- 例外:
GSSException
- 次のメジャー・エラー・コードを含む。GSSException.FAILURE
-
isAnonymous
boolean isAnonymous()この名前オブジェクトが匿名のエンティティを表しているかどうかテストします。- 戻り値:
- 匿名の名前である場合はtrue、そうでない場合はfalse。
-
isMN
boolean isMN()この名前オブジェクトがメカニズム名(MN)を表しているかどうかテストします。 MNは、特定のメカニズムの基本名前要素を含むGSSNameです。- 戻り値:
- MNである場合はtrue、そうでない場合はfalse。
-