Package javax.security.sasl
包含支持SASL的类和接口。 该包定义了SASL机制的类和接口。 开发人员使用它为使用SASL的基于连接的协议添加身份验证支持。
SASL概述
简单认证和安全层(SASL)指定质询 - 响应协议,其中在客户端和服务器之间交换数据以用于认证和(可选)建立用于进行后续通信的安全层。 它与基于连接的协议(如LDAPv3或IMAPv4)一起使用。 SASL描述于RFC 2222中 。 为SASL定义了各种机制 。 每种机制都定义了必须在客户端和服务器之间交换的数据,以便验证成功。 特定机制所需的这种数据交换称为其协议简档 。 以下是Internet标准社区定义的一些机制示例。- DIGEST-MD5( RFC 2831 )。 此机制定义了HTTP摘要式身份验证如何用作SASL机制。
- 匿名( RFC 2245 )。 此机制是匿名身份验证,其中不需要凭据。
- 外部( RFC 2222 )。 此机制从外部源(例如TLS或IPsec)获取身份验证信息。
- S / Key( RFC 2222 )。 此机制使用MD4摘要算法基于共享密钥交换数据。
- GSSAPI( RFC 2222 )。 此机制使用GSSAPI获取身份验证信息。
用法
此API的用户通常是为基于连接的协议(如LDAPv3和IMAPv4)以及编写服务器的开发人员(如LDAP服务器和IMAP服务器)生成客户端库实现的开发人员。 编写客户端库的开发人员使用SaslClient
和SaslClientFactory
接口。 编写服务器的开发人员使用SaslServer
和SaslServerFactory
接口。 在这两组用户中,每组用户可以进一步分为两组: 生成 SASL机制的用户和使用 SASL机制的用户。 SASL机制的生产者需要为这些接口提供实现,而SASL机制的用户使用此包中的API来访问这些实现。 相关文档
有关如何使用此API的信息,请参阅Java SASL Programming Guide 。- 从以下版本开始:
- 1.5
-
接口摘要 接口 描述 SaslClient 作为客户端执行SASL身份验证。SaslClientFactory 用于创建SaslClient
实例的SaslClient
。SaslServer 执行SASL身份验证作为服务器。SaslServerFactory 用于创建SaslServer
实例的SaslServer
。 -
类摘要 类 描述 AuthorizeCallback SaslServer
使用此回调来确定一个实体(由经过身份验证的身份验证ID标识)是否可以代表另一个实体(由授权ID标识)。RealmCallback SaslClient
和SaslServer
使用此回调来检索领域信息。RealmChoiceCallback SaslClient
和SaslServer
使用此回调来获取领域选项列表。Sasl 用于创建SASL客户端和服务器的静态类。 -
异常摘要 异常 描述 AuthenticationException SASL机制实现抛出此异常,以指示SASL交换由于与身份验证相关的原因(例如无效的身份,密码或密钥)而失败。SaslException 此类表示使用SASL时发生的错误。