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

インタフェースGSSCredential

すべてのスーパー・インタフェース:
Cloneable
既知のすべてのサブインタフェース:
ExtendedGSSCredential

public interface GSSCredential extends Cloneable
このインタフェースでは、エンティティのGSS-API資格をカプセル化します。 資格には、エンティティを表すコンテキストをそのエンティティに代わって作成するのに必要なすべての暗号化情報が含まれています。 また、メカニズム固有の、個別の資格要素が複数含まれている場合もあります。各資格要素には固有のセキュリティ・メカニズムの情報が含まれていますが、どの要素も同じエンティティを参照しています。 資格は、コンテキストの起動または受入れ、あるいはその両方を実行するのに使用されます。

資格は、GSSManagerクラスのcreateCredentialメソッドのいずれかを使用してインスタンス化されます。 GSS-APIの資格を作成しても、ネットワークにログインする機能は提供されません。そのような機能には新しい資格の作成が必要ですが、GSS-APIの資格作成では既存の資格へのハンドルを取得するだけです。 Javaプラットフォームで既存の資格を取得する方法については、パッケージ・レベルの説明にある資格の取得に関するセクションを参照してください。 GSS-APIの実装では、呼出し元にローカル・アクセス制御ポリシーを適用して、承認されていない呼出し元が許可されていない資格を取得するのを防止する必要があります。

アプリケーションは、必要なパラメータを渡して資格オブジェクトを作成します。 その後は、インスタンス化された資格オブジェクトに対してクエリー・メソッドを使用して特定の情報を取得できます。 その資格が必要なくなったときは、disposeメソッドを呼び出してその資格オブジェクトが保持しているリソースをすべて解放し、暗号で保護された機密情報をすべて破棄する必要があります。

次のコード例では、特定のエンティティのGSSCredential実装を作成し、そのフィールドを照会し、不要になったときに解放しています。

    GSSManager manager = GSSManager.getInstance();

    // start by creating a name object for the entity
    GSSName name = manager.createName("myusername", GSSName.NT_USER_NAME);

    // now acquire credentials for the entity
    GSSCredential cred = manager.createCredential(name,
                    GSSCredential.ACCEPT_ONLY);

    // display credential information - name, remaining lifetime,
    // and the mechanisms it has been acquired over
    System.out.println(cred.getName().toString());
    System.out.println(cred.getRemainingLifetime());

    Oid [] mechs = cred.getMechs();
    if (mechs != null) {
            for (int i = 0; i< mechs.length; i++)
                    System.out.println(mechs[i].toString());
    }

    // release system resources held by the credential
    cred.dispose();
 

導入されたバージョン:
1.4
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final int
    資格使用フラグ。コンテキストの受け入れ側だけが使用できるように要求します。
    static final int
    資格のデフォルトの寿命を表す寿命定数です。
    static final int
    資格の寿命が無期限であることを表す寿命定数です。
    static final int
    資格使用フラグ。コンテキストの起動側および受け入れ側が使用できるように要求します。
    static final int
    資格使用フラグ。コンテキストの起動側だけが使用できるように要求します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    add(GSSName name, int initLifetime, int acceptLifetime, Oid mech, int usage)
    メカニズム固有の資格要素を既存の資格に追加します。
    void
    GSSCredentialオブジェクトが保有している機密情報をすべて解放します。
    boolean
    equals(Object another)
    このGSSCredentialが指定されたオブジェクトと同じエンティティを表明するかどうかをテストします。
    Oid[]
    この資格がサポートしているメカニズムのリストを返します。
    資格が表明するエンティティの名前を取り出します。
    getName(Oid mech)
    資格が表明しているエンティティのメカニズム名を取り出します。
    int
    資格の残りの寿命(秒単位)で返します。この期間は、指定されたメカニズムを使用して、セキュリティ・コンテキストを受け入れることができます。
    int
    資格の残りの寿命(秒単位)で返します。この期間は、指定されたメカニズムを使用して、セキュリティ・コンテキストを起動できます。
    int
    資格の残りの寿命(秒単位)で返します。
    int
    資格使用モードを返します。
    int
    getUsage(Oid mech)
    特定のメカニズムの資格使用モードを返します。
    int
    このGSSCredentialのハッシュ・コード値を返します。
  • フィールド詳細

    • INITIATE_AND_ACCEPT

      static final int INITIATE_AND_ACCEPT
      資格使用フラグ。コンテキストの起動側および受け入れ側が使用できるように要求します。
      関連項目:
    • INITIATE_ONLY

      static final int INITIATE_ONLY
      資格使用フラグ。コンテキストの起動側だけが使用できるように要求します。
      関連項目:
    • ACCEPT_ONLY

      static final int ACCEPT_ONLY
      資格使用フラグ。コンテキストの受け入れ側だけが使用できるように要求します。
      関連項目:
    • DEFAULT_LIFETIME

      static final int DEFAULT_LIFETIME
      資格のデフォルトの寿命を表す寿命定数です。 この値は0に設定されます。
      関連項目:
    • INDEFINITE_LIFETIME

      static final int INDEFINITE_LIFETIME
      資格の寿命が無期限であることを表す寿命定数です。 この値は、Javaの最大整数値Integer.MAX_VALUEに設定する必要があります。
      関連項目:
  • メソッドの詳細

    • dispose

      void dispose() throws GSSException
      GSSCredentialオブジェクトが保有している機密情報をすべて解放します。 アプリケーションでは、資格が不要になったらすぐにこのメソッドを呼び出して、機密情報が保持されている時間を最小限に抑える必要があります。
      例外:
      GSSException - 次のメジャー・エラー・コードを含む。GSSException.FAILURE
    • getName

      GSSName getName() throws GSSException
      資格が表明するエンティティの名前を取り出します。
      戻り値:
      エンティティを表すGSSName
      例外:
      GSSException - 次のメジャー・エラー・コードを含む。GSSException.FAILURE
    • getName

      資格が表明しているエンティティのメカニズム名を取り出します。 この名前は、ほかの形式のgetNameから返された値に対してcanonicalizeを呼び出した場合と等価です。
      パラメータ:
      mech - メカニズム名を要求するメカニズムのOID。
      戻り値:
      GSSName。要求されたメカニズムに正規化されたエンティティを表す
      例外:
      GSSException - 次のメジャー・エラー・コードを含む。GSSException.BAD_MECH, GSSException.FAILURE
    • getRemainingLifetime

      int getRemainingLifetime() throws GSSException
      資格の残りの寿命(秒単位)で返します。 残りの存続期間は、基礎となるすべてのメカニズム固有の資格証明要素の最短存続期間です。
      戻り値:
      この資格の残りの寿命の最小値(秒単位)。 戻り値INDEFINITE_LIFETIMEは資格の寿命が残っていることを示す。 戻り値0は資格がすでに期限切れになっていることを示す。
      例外:
      GSSException - 次のメジャー・エラー・コードを含む。GSSException.FAILURE
      関連項目:
    • getRemainingInitLifetime

      int getRemainingInitLifetime(Oid mech) throws GSSException
      資格の残りの寿命(秒単位)で返します。この期間は、指定されたメカニズムを使用して、セキュリティ・コンテキストを起動できます。 このメソッドは、指定されたメカニズムに属している、起動側資格要素を照会します。
      パラメータ:
      mech - 照会する起動側資格要素が属しているメカニズムのOID。
      戻り値:
      この資格要素の残りの寿命(秒単位)。 戻り値INDEFINITE_LIFETIMEは資格要素の寿命が残っていることを示す。 戻り値0は資格要素がすでに期限切れになっていることを示す。
      例外:
      GSSException - 次のメジャー・エラー・コードを含む。GSSException.BAD_MECH, GSSException.FAILURE
    • getRemainingAcceptLifetime

      int getRemainingAcceptLifetime(Oid mech) throws GSSException
      資格の残りの寿命(秒単位)で返します。この期間は、指定されたメカニズムを使用して、セキュリティ・コンテキストを受け入れることができます。 このメソッドは、指定されたメカニズムに属している、受入れ側資格要素を照会します。
      パラメータ:
      mech - 照会する受け入れ側資格要素が属しているメカニズムのOID。
      戻り値:
      この資格要素の残りの寿命(秒単位)。 戻り値INDEFINITE_LIFETIMEは資格要素の寿命が残っていることを示す。 戻り値0は資格要素がすでに期限切れになっていることを示す。
      例外:
      GSSException - 次のメジャー・エラー・コードを含む。GSSException.BAD_MECH, GSSException.FAILURE
    • getUsage

      int getUsage() throws GSSException
      資格使用モードを返します。 つまり、セキュリティ・コンテキストを、この資格を使用して起動するのか受け入れるのかを返します。 ただし、コンテキストの起動または受け入れに使用するメカニズムは返しません。 このメソッドを呼び出したあとで、デフォルトのGSS-APIメカニズムが選択されることを前提としています。
      戻り値:
      戻り値は、INITIATE_ONLYACCEPT_ONLY、およびINITIATE_AND_ACCEPTのいずれか。
      例外:
      GSSException - 次のメジャー・エラー・コードを含む。GSSException.FAILURE
    • getUsage

      int getUsage(Oid mech) throws GSSException
      特定のメカニズムの資格使用モードを返します。 つまり、指定された配下のメカニズムを使用するセキュリティ・コンテキストを、この資格を使用して起動するのか受け入れるのかを返します。
      パラメータ:
      mech - 資格使用モードを検査するメカニズムのOID。
      戻り値:
      戻り値は、INITIATE_ONLYACCEPT_ONLY、およびINITIATE_AND_ACCEPTのいずれか。
      例外:
      GSSException - 次のメジャー・エラー・コードを含む。GSSException.BAD_MECH, GSSException.FAILURE
    • getMechs

      Oid[] getMechs() throws GSSException
      この資格がサポートしているメカニズムのリストを返します。 ただし、コンテキストの起動に使用する資格と受け入れに使用する資格は、識別しません。 使用モードを確認するには、返されたOIDを使用して、アプリケーションからgetUsageメソッドを呼び出す必要があります。
      戻り値:
      サポートされているメカニズムに対応するOIDの配列。
      例外:
      GSSException - 次のメジャー・エラー・コードを含む。GSSException.FAILURE
    • add

      void add(GSSName name, int initLifetime, int acceptLifetime, Oid mech, int usage) throws GSSException
      メカニズム固有の資格要素を既存の資格に追加します。 1回の呼出しで、1つのメカニズムの資格を作成できます。

      このルーチンは、コンテキストの受け入れ側が、さまざまなセキュリティ・メカニズムとクライアントの組み合わせで受け入れ側資格を作成するときに使用します。

      このルーチンを使用すると、新しい資格要素が適切に追加されます。 新しい資格にその資格要素を追加するには、まずcloneを呼び出してこの資格のコピーを取得し、次にそのaddメソッドを呼び出します。

      これまでと同様、GSS-APIの実装では、呼出し側にローカル・アクセス制御ポリシーを適用して、承認されていない呼出し側が許可されていない資格を取得するのを防ぐ必要があります。 initLifetimeやacceptLifetimeにデフォルト以外の値を指定すると配下のメカニズムに受け付けられないことがあるため、呼出し側では、資格に対してgetRemainingInitLifetimeおよびgetRemainingAcceptLifetimeを呼び出す準備をしておく必要があります。

      パラメータ:
      name - この資格を取得する主体の名前。 デフォルトの主体を指定する場合はnullを使用する。
      initLifetime - セキュリティ・コンテキストの受け入れ側に対する資格要素の残りの寿命(秒単位)。 資格の寿命を設定可能な最大期限にすることを要求するには、GSSCredential.INDEFINITE_LIFETIMEを使用する。 資格のデフォルトの寿命を要求する場合はGSSCredential.DEFAULT_LIFETIMEを使用する。
      acceptLifetime - セキュリティ・コンテキストの受け入れ側に対する資格要素の残りの寿命(秒単位)。 資格の寿命を設定可能な最大期限にすることを要求するには、GSSCredential.INDEFINITE_LIFETIMEを使用する。 資格のデフォルトの寿命を要求する場合はGSSCredential.DEFAULT_LIFETIMEを使用する。
      mech - 資格を取得するメカニズム。
      usage - この資格要素が資格に追加する必要のある使用モード。 このパラメータの値は、INITIATE_AND_ACCEPTACCEPT_ONLY、およびINITIATE_ONLYのいずれかにする必要がある。
      例外:
      GSSException - 次のメジャー・エラー・コードを含む。GSSException.DUPLICATE_ELEMENT, GSSException.BAD_MECH, GSSException.BAD_NAMETYPE, GSSException.NO_CRED, GSSException.CREDENTIALS_EXPIRED, GSSException.FAILURE
    • equals

      boolean equals(Object another)
      このGSSCredentialが指定されたオブジェクトと同じエンティティを表明するかどうかをテストします。 これら2つの資格は、同じメカニズムを使用して取得し、同じ主体を参照する必要があります。
      オーバーライド:
      equals、クラスObject
      パラメータ:
      another - このGSSCredentialと比較するGSSCredential
      戻り値:
      2つのGSSCredentialが同じエンティティを表明する場合はtrue、そうでない場合はfalse
      関連項目:
    • hashCode

      int hashCode()
      このGSSCredentialのハッシュ・コード値を返します。
      オーバーライド:
      hashCode、クラスObject
      戻り値:
      hashCode値
      関連項目: