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