モジュール java.security.sasl
パッケージjavax.security.sasl
パッケージjavax.security.sasl
SASLをサポートするためのクラスとインタフェースを含みます。 このパッケージは、SASLメカニズムのクラスとインタフェースを定義します。 開発者が、SASLを使用する接続ベースのプロトコルの認証サポートを追加するときに使用します。
SASLの概要
SASL (Simple Authentication and Security Layer)は、チャレンジ・レスポンス・プロトコルを指定します。このプロトコルでは、1つには認証目的、もう1つには認証後通信を続行するセキュリティ・レイヤーを確立する目的(オプション)で、クライアントとサーバーがデータを交換します。 このプロトコルは、LDAPv3、IMAPv4をはじめとする接続ベースのプロトコルとともに使用されます。 SASLは、RFC 2222で説明されています。 SASLには、さまざまなメカニズムが定義されています。 各メカニズムは、認証を正常に実行するためにクライアントとサーバー間で交換する必要があるデータを定義します。 特定のメカニズムが必要とするデータ交換を、そのメカニズムのプロトコル・プロファイルと呼びます。 次に、インターネット標準コミュニティで定義されているいくつかのメカニズムを紹介します。- DIGEST-MD5 (RFC 2831)。 HTTP Digest AuthenticationをSASLメカニズムとして使用する方法を定義します。
- Anonymous (RFC 2245)。 このメカニズムは資格を必要としない匿名認証です。
- External (RFC 2222)。 TLSやIPsecなどの外部ソースから認証情報を取得します。
- S/Key (RFC 2222)。 MD4ダイジェスト・アルゴリズムを使用し、共有秘密に基づいてデータ交換を行います。
- GSSAPI (RFC 2222)。 このメカニズムは、認証情報を取得するためにGSSAPIを使用します。
使用法
このAPIは、主に2つのグループの開発者によって使用されます。1つは、LDAPv3、IMAPv4などの接続ベースのプロトコルのクライアント・ライブラリ実装を作成する開発者のグループ、もう1つは、LDAP、IMAPなどのサーバーを記述する開発者のグループです。 クライアント・ライブラリを作成する開発者は、SaslClient
インタフェースとSaslClientFactory
インタフェースを使用します。 サーバーを記述する開発者は、SaslServer
インタフェースとSaslServerFactory
インタフェースを使用します。 これらの2つのグループはそれぞれ、SASLメカニズムを作成する開発者のグループとSASLメカニズムを使用する開発者のグループにさらに分類できます。 SASLメカニズムを作成するグループは、これらのインタフェースに実装を提供する必要があります。一方、SASLメカニズムを使用するグループは、このパッケージ内のAPIを使用して実装にアクセスできます。
関連項目
このAPIの使用方法については、『Java SASL APIプログラミングおよび配備ガイド』を参照してください。- 導入されたバージョン:
- 1.5
-
クラス説明この例外は、SASLメカニズムの実装によってスローされ、ID、パス・フレーズ、またはキーが無効であるなどの認証に関連した理由により、SASL交換に失敗したことを示します。このコールバックは、あるエンティティ(認証済みの認証IDによって識別される)が別のエンティティ(承認IDによって識別される)の代わりに動作できるかどうかを判定するために
SaslServer
によって使用されます。このコールバックは、レルム情報を取り出すためにSaslClient
やSaslServer
によって使用されます。このコールバックは、レルムの選択肢のリストからレルムを取得するためにSaslClient
およびSaslServer
によって使用されます。SASLクライアントおよびサーバーを作成するためのstaticクラスです。SASL認証をクライアントとして実行します。SaslClient
のインスタンスを作成するためのインタフェースです。このクラスは、SASLの使用時に発生したエラーを表します。SASL認証をサーバーとして実行します。SaslServer
のインスタンスを作成するためのインタフェースです。