Package javax.security.sasl


package javax.security.sasl
包含支持SASL的类和接口。该包定义了用于SASL机制的类和接口。开发人员可使用此包为使用SASL的基于连接的协议添加认证支持。

SASL概述

简单认证和安全层(SASL)指定了一种挑战-响应协议,其中客户端和服务器之间交换数据,用于认证和(可选)建立用于进行后续通信的安全层。它与基于连接的协议(如LDAPv3或IMAPv4)一起使用。SASL在RFC 2222中有描述。有各种SASL机制定义。每个机制定义了必须在客户端和服务器之间交换的数据,以便认证成功。为了特定机制的认证成功,必须进行的数据交换被称为其协议配置文件。以下是互联网标准社区定义的一些机制示例。
  • 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来访问这些实现。 请参阅Java SASL编程指南,了解如何使用此API。
自版本:
1.5
  • Class
    Description
    此异常由SASL机制实现抛出,指示由于与认证相关的原因(如无效身份、密码短语或密钥)导致SASL交换失败。
    此回调由SaslServer用于确定一个实体(由经过身份验证的认证ID标识)是否可以代表另一个实体(由授权ID标识)执行操作。
    此回调由SaslClientSaslServer用于检索领域信息。
    此回调由SaslClientSaslServer用于在给定领域选择列表的情况下获取领域。
    用于创建SASL客户端和服务器的静态类。
    作为客户端执行SASL认证。
    用于创建SaslClient实例的接口。
    表示在使用SASL时发生的错误的类。
    作为服务器执行SASL认证。
    用于创建SaslServer实例的接口。