- すべての実装されたインタフェース:
LoginModule
public class KeyStoreLoginModule extends Object implements LoginModule
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
abort()
このメソッドは、LoginContextの全体の認証に失敗した場合に呼び出されます。boolean
commit()
認証プロセスをコミットする抽象メソッドです(フェーズ2)。void
initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)
このLoginModule
を初期化します。boolean
login()
ユーザーを認証します。boolean
logout()
ユーザーをログアウトさせます。
-
コンストラクタの詳細
-
KeyStoreLoginModule
public KeyStoreLoginModule()
-
-
メソッドの詳細
-
initialize
public void initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)このLoginModule
を初期化します。- 定義:
initialize
、インタフェース:LoginModule
- パラメータ:
subject
- 認証対象のSubject
。callbackHandler
- エンド・ユーザーとの通信(ユーザー名とパスワードの入力など)に使用されるCallbackHandler
。null
の場合もある。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
- ログアウトに失敗した場合。
-