インターフェース ClientAuth
- すべての既知のサブインターフェース:
ClientAuthContext
,ClientAuthModule
public interface ClientAuth
このインターフェースの実装は、サービスリクエストメッセージを保護し、受信したサービスレスポンスメッセージを検証するために使用されます。- 関連事項:
MessageInfo
,Subject
SE
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド デフォルトメソッド 修飾子と型 メソッド 説明 default void
cleanSubject(MessageInfo messageInfo, SubjectSE subject)
サブジェクトから実装固有のプリンシパルとクレデンシャルを削除します。AuthStatus
secureRequest(MessageInfo messageInfo, SubjectSE clientSubject)
サービスに送信する前に、サービスリクエストメッセージを保護します。default AuthStatus
validateResponse(MessageInfo messageInfo, SubjectSE clientSubject, SubjectSE serviceSubject)
受信したサービスレスポンスを検証します。
メソッドの詳細
secureRequest
AuthStatus secureRequest(MessageInfo messageInfo, SubjectSE clientSubject) throws AuthException
サービスに送信する前に、サービスリクエストメッセージを保護します。このメソッドは、getRequestMessage (messageInfo 上) を呼び出すことによって取得されたリクエストメッセージを、ランタイムによって送信されるメカニズム固有の形式に変換するために呼び出されます。
このメソッドは、AuthStatus 値を返すか、AuthException をスローすることにより、メッセージ処理の結果を伝えます。
- パラメーター:
messageInfo
- クライアントリクエストオブジェクトとサーバーレスポンスオブジェクトをカプセル化し、安全なメッセージ交換を完了するためにこのインターフェースのメソッドに対して行われた一連の呼び出し全体で状態を保存するために使用されるコンテキストオブジェクト。clientSubject
- サービスリクエストのソースを表すサブジェクト、または null。メソッドの実装では、リクエストを保護するために使用されるプリンシパルまたは資格情報のソースとして使用できます。サブジェクトが null でない場合、メソッドの実装により、プリンシパルまたは資格情報(サービスリクエストのソースに関する)をサブジェクトに追加できます。- 戻り値:
- メソッドによって実行された処理の完了ステータスを表す AuthStatus オブジェクト。このメソッドによって返される可能性がある AuthStatus 値は、次のように定義されます。
- アプリケーションリクエストメッセージが正常に保護された場合、AuthStatus.SUCCESS が返されます。保護されたリクエストメッセージは、messageInfo で getRequestMessage を呼び出すことによって取得できます。
- AuthStatus.SEND_CONTINUE は、アプリケーションリクエストメッセージ (messageInfo 内) が、ピアセキュリティシステムからセキュリティ固有のレスポンスを引き出すセキュリティメッセージに置き換えられたことを示します。このステータス値は、アプリケーションメッセージがまだ保護されていないことも示します。このステータス値は、呼び出し元のランタイムに、(メッセージ交換を正常に完了するには) セキュリティメッセージを送信して引き出されたセキュリティ固有のレスポンスを受信した後に、少なくとも 1 つの追加のリクエスト / レスポンス交換を実行してメッセージダイアログを続行する必要があることを通知します。このステータス値が返された場合、対応する
validateResponse
の呼び出しで元のアプリケーションリクエストメッセージを取得できる必要があります。 - AuthStatus.FAILURE は、リクエストメッセージの保護中に障害が発生したこと、および messageInfo で getResponseMessage を呼び出すことによって適切な障害レスポンスメッセージが利用できることを示します。
- 例外:
AuthException
- 失敗レスポンスメッセージを確立せずにメッセージ処理が失敗した場合 (messageInfo の場合)。
validateResponse
default AuthStatus validateResponse(MessageInfo messageInfo, SubjectSE clientSubject, SubjectSE serviceSubject) throws AuthException
受信したサービスレスポンスを検証します。このメソッドは、getResponseMessage (messageInfo 上) を呼び出すことによって取得されたメカニズム固有のレスポンスメッセージを、メッセージ処理ランタイムに返される検証済みのアプリケーションメッセージに変換するために呼び出されます。レスポンスメッセージが (メカニズム固有の) メタメッセージである場合、メソッド実装は、メタメッセージをランタイムによって送信される次のメカニズム固有のリクエストメッセージに変換しようとする必要があります。
このメソッドは、AuthStatus 値を返すか、AuthException をスローすることにより、メッセージ処理の結果を伝えます。
- パラメーター:
messageInfo
- クライアントリクエストオブジェクトとサーバーレスポンスオブジェクトをカプセル化し、安全なメッセージ交換を完了するためにこのインターフェースのメソッドに対して行われた一連の呼び出し全体で状態を保存するために使用されるコンテキストオブジェクト。clientSubject
- サービスレスポンスの受信者を表すサブジェクト、または null。メソッドの実装では、レスポンスの検証に使用されるプリンシパルまたは資格情報のソースとして使用できます。サブジェクトが null でない場合、メソッドの実装により、プリンシパルまたは資格情報(サービスリクエストの受信者に関する)がサブジェクトに追加される場合があります。serviceSubject
- サービスレスポンスのソースを表すサブジェクト、または null。サブジェクトが null でない場合、メソッドの実装により、プリンシパルまたは資格情報(サービスレスポンスのソースに関する)をサブジェクトに追加できます。- 戻り値:
- メソッドによって実行された処理の完了ステータスを表す AuthStatus オブジェクト。このメソッドによって返される可能性がある AuthStatus 値は、次のように定義されます。
- アプリケーションレスポンスメッセージが正常に検証された場合、AuthStatus.SUCCESS が返されます。検証されたメッセージは、messageInfo で getResponseMessage を呼び出すことによって取得できます。
- AuthStatus.SEND_CONTINUE は、レスポンスの検証が完了しておらず、継続リクエストが messageInfo 内のリクエストメッセージとして返されたことを示します。このステータス値は、呼び出し元のランタイムに、(メッセージ交換を正常に完了するには) 少なくとも 1 つの追加のリクエスト / レスポンス交換を実行してメッセージダイアログを続行する必要があることを通知するために使用されます。
- AuthStatus.FAILURE は、レスポンスの検証が失敗し、messageInfo で失敗レスポンスメッセージが確立されたことを示します。
- 例外:
AuthException
- 失敗レスポンスメッセージを確立せずにメッセージ処理が失敗した場合 (messageInfo の場合)。
cleanSubject
default void cleanSubject(MessageInfo messageInfo, SubjectSE subject) throws AuthException
サブジェクトから実装固有のプリンシパルとクレデンシャルを削除します。- パラメーター:
messageInfo
- クライアントリクエストオブジェクトとサーバーレスポンスオブジェクトをカプセル化し、安全なメッセージ交換を完了するためにこのインターフェースのメソッドに対して行われた一連の呼び出し全体で状態を保存するために使用されるコンテキストオブジェクト。subject
- プリンシパルと資格情報を削除するサブジェクトインスタンス。- 例外:
AuthException
- サブジェクト処理中にエラーが発生した場合。