javax.security.sasl

接口
异常
包含用于支持 SASL 的类和接口。

请参见:
          描述

接口摘要
SaslClient 以客户端的身份执行 SASL 验证。
SaslClientFactory 用于创建 SaslClient 实例的接口。
SaslServer 以服务器的身份执行 SASL 验证。
SaslServerFactory 用于创建 SaslServer 实例的接口。
 

类摘要
AuthorizeCallback 此回调由 SaslServer 使用,以确定某个实体(由已验证的验证 id 所标识)能否代表另一个实体(由授权 id 所标识)。
RealmCallback SaslClientSaslServer 使用此回调来获取领域信息。
RealmChoiceCallback SaslClientSaslServer 使用此回调获得给定领域选项列表的领域。
Sasl 用于创建 SASL 客户端和服务器的静态类。
 

异常摘要
AuthenticationException 此异常由 SASL 机制实现抛出,指示由于和验证有关的原因(如无效的标识、口令 或密钥),SASL 交换已失败。
SaslException 此类表示在使用 SASL 时所发生的错误。
 

软件包 javax.security.sasl 的描述

包含用于支持 SASL 的类和接口。 此包为 SASL 机制定义了各种类和接口。开发人员使用它来添加对使用 SASL 的、基于连接的协议的验证支持。

SASL 概述

简单验证和安全层 (SASL) 指定了一种挑战-响应协议,使用该协议在客户端和服务器之间交换数据,从而实现验证和(可选)建立一个可承载后续通信的安全层。它与基于连接的协议,如 LDAPv3 或 IMAPv4 一起使用。RFC 2222 中描述了 SASL。

为 SASL 定义了各种机制。每种机制都为成功进行验证而定义了客户端和服务器之间必须交换的数据。特定机制所需的这种数据交换被称作其协议配置文件。下面是 Internet 标准团体已经定义的一些机制的示例。

  • DIGEST-MD5 (RFC 2831)。此机制定义了如何将 HTTP 摘要验证用作 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 的用户通常是为基于连接的协议(如 LDAPv3 和 IMAPv4)生成客户端库实现的开发人员,以及编写服务器(如 LDAP 服务器和 IMAP 服务器)的开发人员。编写客户端库的开发人员可使用 SaslClientSaslClientFactory 接口。编写服务器的开发人员可使用 SaslServerSaslServerFactory 接口。

这两组用户的每一组都可以进一步再分成两组:那些生成 SASL 机制和那些使用 SASL 机制的用户。SASL 机制的生产者需要提供这些接口的实现,而 SASL 机制的用户使用此包中的 API 来访问这些实现。

相关文档

有关如何使用此 API 的信息,请参阅 Java SASL Programming Guide

从以下版本开始:
1.5