public class Sasl extends Object
このクラスは、SASL クライアントおよびサーバーの検索、ロード、インスタンス化のポリシーを定義します。
たとえば、アプリケーションやライブラリは、次のような処理により SASL クライアントを取得します。
これで、インスタンスを使用して認証接続を作成する準備ができました。SaslClient sc = Sasl.createSaslClient(mechanisms, authorizationId, protocol, serverName, props, callbackHandler);
同様に、サーバーは次のようなコードを使用して SASL サーバーを取得します。
SaslServer ss = Sasl.createSaslServer(mechanism, protocol, serverName, props, callbackHandler);
修飾子と型 | フィールドと説明 |
---|---|
static String |
CREDENTIALS
使用する資格を指定するプロパティーの名前です。
|
static String |
MAX_BUFFER
最大受信バッファーサイズを SaslClient/SaslServer のバイト数で指定するプロパティーの名前です。
|
static String |
POLICY_FORWARD_SECRECY
セッション間で転送秘密を実装するようなメカニズムが必要かどうかを指定するプロパティーの名前です。
|
static String |
POLICY_NOACTIVE
能動的攻撃 (辞書攻撃以外) を受けやすいメカニズムが許可されていないかどうかを指定するプロパティーの名前です。
|
static String |
POLICY_NOANONYMOUS
匿名ログインを受け入れるメカニズムが許可されていないかどうかを指定するプロパティーの名前です。
|
static String |
POLICY_NODICTIONARY
受動的辞書攻撃を受けやすいメカニズムが許可されていないかどうかを指定するプロパティーの名前です。
|
static String |
POLICY_NOPLAINTEXT
単純な受動的攻撃 (PLAIN など) を受けやすいメカニズムが許可されていないかどうかを指定するプロパティーの名前です。
|
static String |
POLICY_PASS_CREDENTIALS
クライアント資格を渡すメカニズムが必要かどうかを指定するプロパティーの名前です。
|
static String |
QOP
使用する保護品質を指定するプロパティーの名前です。
|
static String |
RAW_SEND_SIZE
最大送信 raw バッファーサイズを SaslClient/SaslServer のバイト数で指定するプロパティーの名前です。
|
static String |
REUSE
認証済みのセッション情報を再利用するかどうかを指定するプロパティーの名前です。
|
static String |
SERVER_AUTH
サーバーがクライアントを認証する必要があるかどうかを指定するプロパティーの名前です。
|
static String |
STRENGTH
使用する暗号の強度を指定するプロパティーの名前です。
|
修飾子と型 | メソッドと説明 |
---|---|
static SaslClient |
createSaslClient(String[] mechanisms, String authorizationId, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh)
指定されたパラメータを使用して SaslClient を作成します。
|
static SaslServer |
createSaslServer(String mechanism, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh)
指定されたメカニズムの SaslServer を作成します。
|
static Enumeration<SaslClientFactory> |
getSaslClientFactories()
SaslClient を作成するための既知のファクトリの列挙を取得します。
|
static Enumeration<SaslServerFactory> |
getSaslServerFactories()
SaslServer を作成するための既知のファクトリの列挙を取得します。
|
public static final String QOP
public static final String STRENGTH
public static final String SERVER_AUTH
public static final String MAX_BUFFER
public static final String RAW_SEND_SIZE
public static final String REUSE
public static final String POLICY_NOPLAINTEXT
public static final String POLICY_NOACTIVE
public static final String POLICY_NODICTIONARY
public static final String POLICY_NOANONYMOUS
public static final String POLICY_FORWARD_SECRECY
public static final String POLICY_PASS_CREDENTIALS
public static SaslClient createSaslClient(String[] mechanisms, String authorizationId, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh) throws SaslException
SaslClientFactory のセキュリティープロバイダは、JCA セキュリティープロバイダフレームワークに、
SaslClientFactory.mechanism_name
という形式の鍵、および javax.security.sasl.SaslClientFactory 実装のクラス名である値を登録します。
たとえば、ファクトリクラス com.wiz.sasl.digest.ClientFactory を含むプロバイダが DIGEST-MD5 メカニズムをサポートしている場合、JCA にはエントリ SaslClientFactory.DIGEST-MD5 com.wiz.sasl.digest.ClientFactory が登録されます。
セキュリティーサービスプロバイダのインストールと構成については、『Java Cryptography Architecture API Specification & Reference』を参照してください。
mechanisms
- 試行するメカニズム名のリスト。null 以外。それぞれは IANA に登録された SASL メカニズム名。GSSAPI や CRAM-MD5 などがある。authorizationId
- 承認に使用されるプロトコル依存の識別情報。null の場合もある。null または空の場合、サーバーはクライアントの認証資格から承認 ID を得る。SASL 認証に成功すると、指定されたエントリにアクセスが許可される。protocol
- 認証対象のプロトコルの文字列名。null 以外。ldap などがある。serverName
- 認証情報を要求するサーバーの完全指定のホスト名。null 以外。props
- SASL メカニズムの選択と、選択された SASL メカニズムの認証交換の設定を行うためのプロパティーのセット。null の場合もある。たとえば、props に含まれる Sasl.POLICY_NOPLAINTEXT
プロパティーの値が "true" の場合、単純な受動的攻撃を受けやすい SASL メカニズムが選択されることはない。このクラスに宣言されている標準プロパティー以外に、メカニズム固有のプロパティーなど、その他のプロパティーも含めることができる。選択されたメカニズムと関連性のないプロパティー (String 形式でない鍵を持つマップエントリを含む) は無視される。cbh
- SASL メカニズムが、認証を完了するためにアプリケーションやライブラリからさらに詳しい情報を取得するとき使用するコールバックハンドラ。null の場合もある。たとえば、呼び出し側の認証 ID、パスワード、およびレルムを要求するような SASL メカニズムがある。認証 ID の要求には、NameCallback が使用される。パスワードの要求には、PasswordCallback が使用される。レルムの要求には、選択可能なレルムのリストが存在する場合は RealmChoiceCallback、レルムを指定する必要がある場合は RealmCallback が使用される。SaslException
- エラーのために SaslClient を作成できない場合。public static SaslServer createSaslServer(String mechanism, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh) throws SaslException
SaslServerFactory のセキュリティープロバイダは、JCA セキュリティープロバイダフレームワークに、
SaslServerFactory.mechanism_name
という形式の鍵、および javax.security.sasl.SaslServerFactory 実装のクラス名である値を登録します。
たとえば、ファクトリクラスcom.wiz.sasl.digest.ServerFactory を含むプロバイダが DIGEST-MD5 メカニズムをサポートしている場合、JCA にはエントリ SaslServerFactory.DIGEST-MD5 com.wiz.sasl.digest.ServerFactory が登録されます。
セキュリティーサービスプロバイダのインストールと構成については、『Java Cryptography Architecture API Specification & Reference』を参照してください。
mechanism
- null 以外のメカニズム名。IANA に登録済みの SASL メカニズム名。GSSAPI や CRAM-MD5 などがある。protocol
- 認証対象のプロトコルの文字列名。null 以外。ldap などがある。serverName
- サーバーの null 以外の完全指定のホスト名。props
- SASL メカニズムの選択と、選択された SASL メカニズムの認証交換の設定を行うためのプロパティーのセット。null の場合もある。たとえば、props に含まれる Sasl.POLICY_NOPLAINTEXT
プロパティーの値が "true" の場合、単純な受動的攻撃を受けやすい SASL メカニズムが選択されることはない。このクラスに宣言されている標準プロパティー以外に、メカニズム固有のプロパティーなど、その他のプロパティーも含めることができる。選択されたメカニズムと関連性のないプロパティー (String 形式でない鍵を持つマップエントリを含む) は無視される。cbh
- SASL メカニズムが、認証を完了するためにアプリケーションやライブラリからさらに詳しい情報を取得するとき使用するコールバックハンドラ。null の場合もある。たとえば、呼び出し側の認証 ID、パスワード、およびレルムを要求するような SASL メカニズムがある。認証 ID の要求には、NameCallback が使用される。パスワードの要求には、PasswordCallback が使用される。レルムの要求には、選択可能なレルムのリストが存在する場合は RealmChoiceCallback、レルムを指定する必要がある場合は RealmCallback が使用される。SaslException
- エラーのために SaslServer を作成できない場合。public static Enumeration<SaslClientFactory> getSaslClientFactories()
createSaslClient(java.lang.String[], java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, ?>, javax.security.auth.callback.CallbackHandler)
public static Enumeration<SaslServerFactory> getSaslServerFactories()
createSaslServer(java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, ?>, javax.security.auth.callback.CallbackHandler)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.