モジュール java.security.jgss
パッケージ org.ietf.jgss

インタフェースGSSName


public interface GSSName
このインタフェースは、単一のGSS-API主体エンティティをカプセル化します。 アプリケーションでは、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名前要素を含むGSSNameを作成するには、ServicePermissionを付与する必要があり、その権限のサービス・プリンシパルは、少なくともKerberos名前要素のレルム内に存在する必要があります。 たとえば、createName("user", NT_USER_NAME)の結果にKerberos名前要素user@EXAMPLE.COMが含まれる場合、サービス・プリンシパルhost/www.example.com@EXAMPLE.COM (および任意のアクション)を持つServicePermissionを付与する必要があります。 それ以外の場合、作成によってGSSException.FAILUREエラー・コードを含むGSSExceptionがスローされます。

導入されたバージョン:
1.4
関連項目: