モジュール 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
    関連項目:
    GSSManager.createCredential(int), GSSManager.createCredential(GSSName, int, Oid, int), GSSManager.createCredential(GSSName, int, Oid[], int), dispose()
    • フィールドのサマリー

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

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

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

        int getRemainingLifetime​()
                          throws GSSException
        資格の残りの寿命(秒単位)で返します。 残りの寿命は、配下のメカニズムに固有のすべての資格要素間の最小寿命になります。
        戻り値:
        この資格の残りの寿命の最小値(秒単位)。 戻り値INDEFINITE_LIFETIMEは資格の寿命が残っていることを示す。 戻り値0は資格がすでに期限切れになっていることを示す。
        例外:
        GSSException - 次のメジャー・エラー・コードを含む。GSSException.FAILURE
        関連項目:
        getRemainingInitLifetime(Oid), getRemainingAcceptLifetime(Oid)
      • 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
        関連項目:
        Object.hashCode()HashMap