モジュール jdk.security.auth

クラスKeyStoreLoginModule

java.lang.Object
com.sun.security.auth.module.KeyStoreLoginModule
すべての実装されたインタフェース:
LoginModule

public class KeyStoreLoginModule extends Object implements LoginModule
キーストアの別名を入力を要求して、別名のプリンシパルと資格を使用してサブジェクトを生成する、JAASログイン・モジュールを提供します。 サブジェクトのプリンシパルにある別名の資格で最初の証明書のサブジェクトの識別名に対するX500Principalと、サブジェクトの公開資格にある別名の証明書パスを格納します。また、証明書が別名の証明書パスで最初の証明書であり、かつ非公開キーがサブジェクトの非公開資格にある別名の非公開キーであるX500PrivateCredentialも格納します。

構成ファイルでは、次のオプションを使用できます。

keyStoreURL
キーストアの位置を指定するURLです。 デフォルトでは、user.homeシステム・プロパティで指定したディレクトリ内の.keystoreファイルを示すURLです。 このURLからの入力ストリームは、KeyStore.loadメソッドに渡されます。 KeyStore.loadメソッドにnullストリームを渡す必要がある場合は、「NONE」を指定できます。 「NONE」は、キーストアが、たとえばハードウェア・トークン・デバイスに置かれている場合に指定します。
keyStoreType
キー・ストアのタイプ。 指定しない場合のデフォルトは、KeyStore.getDefaultType()を呼び出した結果です。 種類が「PKCS11」の場合、keyStoreURLは「NONE」でなければならず、privateKeyPasswordURLを指定することはできません。
keyStoreProvider
キーストアのプロバイダです。 指定しない場合は、プロバイダを検索する標準的な検索順序が使用されます。
keyStoreAlias
キーストア内の、ログインするための別名です。 コールバック・ハンドラが指定されていない場合は必須になります。 デフォルト値なし
keyStorePasswordURL
キーストアのパスワードの位置を指定するURLです。 コールバック・ハンドラが指定されておらず、protectedがfalseの場合は必須になります。 デフォルト値なし
privateKeyPasswordURL
別名の非公開キーにアクセスするために必要となる特定の非公開キーのパスワードの位置を指定するURLです。 この値が必要であっても指定しない場合は、キーストアのパスワードが使われます。
protected
キーストアに別個の保護された認証パス(スマート・カードに接続された専用のPINパッドなど)がある場合は、この値を「true」設定する必要があります。 デフォルトは「false」です。 「true」の場合、keyStorePasswordURLおよびprivateKeyPasswordURLを指定することはできません。

  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    KeyStoreLoginModuleを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    このメソッドは、LoginContextの全体の認証に失敗した場合に呼び出されます。
    boolean
    認証プロセスをコミットする抽象メソッドです(フェーズ2)。
    void
    initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)
    このLoginModuleを初期化します。
    boolean
    ユーザーを認証します。
    boolean
    ユーザーをログアウトさせます。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • KeyStoreLoginModule

      public KeyStoreLoginModule()
      KeyStoreLoginModuleを作成します。
  • メソッドの詳細

    • initialize

      public void initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)
      このLoginModuleを初期化します。
      定義:
      initialize 、インタフェース: LoginModule
      パラメータ:
      subject - 認証対象のSubject
      callbackHandler - エンド・ユーザーとの通信(ユーザー名とパスワードの入力など)に使用されるCallbackHandlernullの場合もある。
      sharedState - 共有LoginModuleの状態。
      options - このLoginModule用にログインConfigurationで指定されたオプション。
    • login

      public boolean login() throws LoginException
      ユーザーを認証します。

      キーストアの別名と関連するパスワードを取得します。 入力された別名の主体と資格をキーストアから取得します。

      定義:
      login 、インタフェース: LoginModule
      戻り値:
      常にtrue (このLoginModuleを無視してはならない)。
      例外:
      FailedLoginException - 認証に失敗した場合。
      LoginException - 認証に失敗した場合
    • commit

      public boolean commit() throws LoginException
      認証プロセスをコミットする抽象メソッドです(フェーズ2)。

      LoginContextの認証全体が成功した場合(関連するREQUIRED、REQUISITE、SUFFICIENT、およびOPTIONALの各LoginModuleが成功した場合)に呼び出されます。

      このLoginModule自体の認証が成功したかどうかをチェックするには、loginメソッドによって保存された非公開状態を取得します。認証が成功した場合、サブジェクトのプリンシパルにある別名の資格で最初の証明書のサブジェクトの識別名に対するX500Principal、サブジェクトの公開資格にある別名の証明書パス、別名の証明書パス内の最初の証明書とサブジェクトの非公開資格にある別名の非公開キーを持つ X500PrivateCredentialが、このメソッドにより関連付けられます。 このLoginModule自体の認証が失敗した場合は、当初保存された状態を削除します。

      定義:
      commit 、インタフェース: LoginModule
      戻り値:
      このLoginModule自体のログインとコミットの試みが成功した場合はtrue、そうでない場合はfalse。
      例外:
      LoginException - コミットに失敗した場合
    • abort

      public boolean abort() throws LoginException
      このメソッドは、LoginContextの全体の認証に失敗した場合に呼び出されます。(関連するREQUIRED、REQUISITE、SUFFICIENT、およびOPTIONALの各LoginModuleが失敗した場合)。

      このLoginModule自体の認証が成功した場合は(loginメソッドとcommitメソッドによって保存された非公開状態を取得して調べる)、当初保存された状態を整理します。

      ロードされたキーストアのプロバイダがjava.security.AuthProviderを拡張する場合は、プロバイダのlogoutメソッドが呼び出されます。

      定義:
      abort 、インタフェース: LoginModule
      戻り値:
      このLoginModule自体のログインやコミットの試みが失敗した場合はfalse、そうでない場合はtrue。
      例外:
      LoginException - 中止に失敗した場合。
    • logout

      public boolean logout() throws LoginException
      ユーザーをログアウトさせます。

      このメソッドは、commitメソッドによって追加された主体、公開資格、および非公開資格を削除します。

      ロードされたキーストアのプロバイダがjava.security.AuthProviderを拡張する場合は、プロバイダのlogoutメソッドが呼び出されます。

      定義:
      logout 、インタフェース: LoginModule
      戻り値:
      このLoginModuleを無視してはならないため、常にtrue。
      例外:
      LoginException - ログアウトに失敗した場合。