モジュール 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を使用します。
これらのメカニズムの中には、認証とセキュリティ・レイヤーの両方を提供するものと、認証しか提供しないものがあります。 AnonymousとS/Keyは、セキュリティ・レイヤーに対応していません。 GSSAPIとDIGEST-MD5では、セキュリティ・レイヤーのネゴシエートが可能です。 Externalでは、セキュリティ・レイヤーは外部プロトコルによって決定されます。

使用法

この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によって使用されます。
    このコールバックは、レルム情報を取り出すためにSaslClientSaslServerによって使用されます。
    このコールバックは、レルムの選択肢のリストからレルムを取得するためにSaslClientおよびSaslServerによって使用されます。
    SASLクライアントおよびサーバーを作成するためのstaticクラスです。
    SASL認証をクライアントとして実行します。
    SaslClientのインスタンスを作成するためのインタフェースです。
    このクラスは、SASLの使用時に発生したエラーを表します。
    SASL認証をサーバーとして実行します。
    SaslServerのインスタンスを作成するためのインタフェースです。