モジュール 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
関連項目: