public interface SaslClientFactory
SaslClient
のインスタンスを作成するためのインタフェースです。このインタフェースは、スレッド・セーフで、複数の要求を同時に処理できるクラスによって実装されます。このクラスは、引数をとらないpublicコンストラクタを持っている必要があります。
クライアントは、Sasl
staticメソッドを使用するため、通常、このインタフェースに直接アクセスすることはありません。ただし、新しい、または異なるSaslClientFactory
が提供およびインストールされる環境もあります。
SaslClient
、Sasl
修飾子と型 | メソッドと説明 |
---|---|
SaslClient |
createSaslClient(String[] mechanisms, String authorizationId, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh)
指定のパラメータを使用してSaslClientを作成します。
|
String[] |
getMechanismNames(Map<String,?> props)
指定されたメカニズム選択ポリシーに一致するメカニズム名の配列を返します。
|
SaslClient createSaslClient(String[] mechanisms, String authorizationId, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh) throws SaslException
mechanisms
- 試行するメカニズム名のリスト。null以外。それぞれSASLメカニズムのIANA登録名(「GSSAPI」や「CRAM-MD5」など)になる。authorizationId
- 承認に使用されるプロトコル依存の識別情報。nullの場合もある。nullまたは空の場合、サーバーはクライアントの認証資格から承認IDを得る。SASL認証に成功すると、指定されたエントリにアクセスが許可される。protocol
- 認証対象のプロトコルの文字列名。null以外。ldapなどがある。serverName
- 認証情報を要求するサーバーの完全指定のホスト名。null以外。props
- SASLメカニズムの選択と、選択されたSASLメカニズムの認証交換の構成を行うためのプロパティのセット。nullの場合もある。標準プロパティのリストについては、Sasl
クラスの説明を参照。メカニズム固有のプロパティなど、標準以外のプロパティも含めることができる。選択されたメカニズムと関連性のないプロパティ(String形式でない鍵を持つマップ・エントリを含む)は無視される。cbh
- SASLメカニズムが、認証を完了するためにアプリケーションやライブラリからさらに詳しい情報を取得するときに使用するコールバック・ハンドラ。nullの場合もある。たとえば、呼出し側の認証ID、パスワードおよびレルムを要求するようなSASLメカニズムがある。認証IDの要求には、NameCallback
が使用される。パスワードの要求には、PasswordCallback
が使用される。レルムの要求には、選択可能なレルムのリストが存在する場合はRealmChoiceCallback
、レルムを指定する必要がある場合はRealmCallback
が使用される。SaslClient
。nullの場合もある。nullの場合、このファクトリは、指定されたパラメータを使用してSaslClient
を作成できない。SaslException
- エラーのためにSaslClient
を作成できない場合。String[] getMechanismNames(Map<String,?> props)
props
- SASLメカニズムのセキュリティ・ポリシーの指定に使用されるプロパティのセット。nullの可能性もある。たとえば、props
に含まれるSasl.POLICY_NOPLAINTEXT
プロパティの値がtrue
の場合、ファクトリは、単純な受動的攻撃を受けやすいSASLメカニズムを返してはいけない。ポリシー・プロパティの完全なリストについては、Sasl
クラスの説明を参照。props
内にポリシーと関連性のないプロパティ(String以外のキーを持つマップ・エントリを含む)が存在する場合、無視される。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.