包 javax.security.sasl


javax.security.sasl
包含支持 SASL 的类和接口。这个包定义了 SASL 机制的类和接口。开发人员使用它为使用 SASL 的基于连接的协议添加身份验证支持。

SASL 概述

简单身份验证和安全层 (SASL) 指定了一种质询-响应协议,在该协议中,数据在客户端和服务之间交换,以进行身份验证和(可选)建立安全层以进行后续通信。它与基于连接的协议(如 LDAPv3 或 IMAPv4)一起使用。 RFC 2222 中描述了 SASL。为 SASL 定义了各种mechanisms。每种机制都定义了必须在客户端和服务之间交换的数据,以便身份验证成功。特定机制所需的这种数据交换称为其 protocol profile 。以下是 Internet 标准社区定义的一些机制示例。
  • DIGEST-MD5 (RFC 2831)。该机制定义了如何将 HTTP 摘要身份验证用作 SASL 机制。
  • 匿名(RFC 2245)。此机制是匿名身份验证,其中不需要凭据。
  • 外部(RFC 2222)。此机制从外部来源(例如 TLS 或 IPsec)获取身份验证信息。
  • S/键(RFC 2222)。该机制使用 MD4 摘要算法来交换基于共享秘密的数据。
  • GSSAPI (RFC 2222)。此机制使用GSSAPI 来获取身份验证信息。
其中一些机制提供身份验证和安全层的建立,其他机制仅提供身份验证。 Anonymous 和 S/Key 不提供任何安全层。 GSSAPI 和 DIGEST-MD5 允许协商安全层。对于外部,安全层由外部协议确定。

用法

此 API 的用户通常是为基于连接的协议(例如 LDAPv3 和 IMAPv4)生成客户端库实现的开发人员,以及编写服务(例如 LDAP 服务和 IMAP 服务)的开发人员。编写客户端库的开发人员使用 SaslClientSaslClientFactory 接口。编写服务的开发人员使用SaslServerSaslServerFactory 接口。在这两组用户中,每个用户可以进一步分为两组:produce SASL 机制的用户和use SASL 机制的用户。 SASL 机制的生产者需要为这些接口提供实现,而 SASL 机制的用户使用此包中的 API 来访问这些实现。 有关如何使用此 API 的信息,请参阅 Java SASL 编程指南
自从:
1.5
  • 描述
    此异常由 SASL 机制实现抛出,以指示 SASL 交换由于与身份验证相关的原因(例如无效身份、密码或密钥)而失败。
    SaslServer 使用此回调来确定一个实体(由经过身份验证的身份验证 ID 标识)是否可以代表另一个实体(由授权 ID 标识)进行操作。
    SaslClientSaslServer 使用此回调来检索领域信息。
    SaslClientSaslServer 使用此回调来获取给定领域选择列表的领域。
    用于创建 SASL 客户端和服务的静态类。
    作为客户端执行 SASL 身份验证。
    用于创建 SaslClient 实例的接口。
    此类表示使用 SASL 时发生的错误。
    作为服务执行 SASL 身份验证。
    用于创建 SaslServer 实例的接口。