Module
java.security.sasl
Package javax.security.sasl
包含用于支持SASL的类和接口。
此包定义了SASL机制的类和接口。
开发人员使用它来为使用SASL的基于连接的协议添加身份验证支持。
SASL概述
简单认证和安全层(SASL)规定了一种挑战 - 响应协议,其中在客户端和服务器之间交换数据,用于认证和(可选)建立进行后续通信的安全层。 它与基于连接的协议(如LDAPv3或IMAPv4)一起使用。 SASL描述于RFC 2222 。 为SASL定义了各种机制 。 每个机制定义必须在客户端和服务器之间交换的数据,以便认证成功。 将特定机制所需的数据交换称为其协议配置文件 。 以下是由互联网标准社区定义的机制的一些示例。- 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
。 -
类摘要 Class 描述 AuthorizeCallback SaslServer
使用该回调来确定一个实体(通过认证的身份验证标识)是否可以代表另一个实体(由授权标识标识)。RealmCallback 此回调由SaslClient
和SaslServer
用于检索领域信息。RealmChoiceCallback 这个回调由SaslClient
和SaslServer
使用,以获得一个领域选项列表。Sasl 用于创建SASL客户端和服务器的静态类。 -
异常摘要 异常 描述 AuthenticationException 由SASL机制实现引发此异常,以指示SASL交换机由于与认证有关的原因(例如无效的身份,密码或密钥)而失败。SaslException 此类表示使用SASL时发生的错误。