所有类


javax.security.sasl
类 Sasl

java.lang.Object
  继承者 javax.security.sasl.Sasl

public class Sasl
   
   
   
   
   
extends Object

用于创建 SASL 客户端和服务器的静态类。

此类定义了如何查找、加载和实例化 SASL 客户端和服务器的策略。

例如,通过执行以下操作,应用程序或库可获得 SASL 客户端:

 SaslClient sc = Sasl.createSaslClient(mechanisms,
     authorizationId, protocol, serverName, props, callbackHandler);
然后该程序可继续使用该实例来创建身份验证连接。

类似地,服务器可使用下列代码来获得 SASL 服务器:

 SaslServer ss = Sasl.createSaslServer(mechanism,
     protocol, serverName, props, callbackHandler);

从以下版本开始:
1.5

字段摘要
static StringMAX_BUFFER
          属性名,指定 SaslClient/SaslServer 接收缓冲区的最大大小(以字节为单位)。
static StringPOLICY_FORWARD_SECRECY
          属性名,指定是否需要在会话间实现了转发安全性的机制。
static StringPOLICY_NOACTIVE
          属性名,指定是否允许易受主动式攻击(非字典)的机制。
static StringPOLICY_NOANONYMOUS
          属性名,指定是否允许接受匿名登录的机制。
static StringPOLICY_NODICTIONARY
          属性名,指定是否允许易受被动式字典攻击的机制。
static StringPOLICY_NOPLAINTEXT
          属性名,指定是否允许易受简单被动式攻击(例如 "PLAIN")的机制。
static StringPOLICY_PASS_CREDENTIALS
          属性名,指定是否需要传递客户端证书的机制。
static StringQOP
          属性名,指定要使用的保护级别。
static StringRAW_SEND_SIZE
          属性名,指定 SaslClient/SaslServer 初始发送缓冲区的最大大小(以字节为单位)。
static StringREUSE
          属性名,指定是否重用以前已验证过的会话信息。
static StringSERVER_AUTH
          属性名,指定服务器是否必须验证客户端。
static StringSTRENGTH
          属性名,指定要使用的密码强度。
 
方法摘要
static SaslClientcreateSaslClient(String[] mechanisms, String authorizationId, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh)
          使用提供的参数创建 SaslClient
static SaslServercreateSaslServer(String mechanism, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh)
          为指定机制创建一个 SaslServer
static Enumeration<SaslClientFactory>getSaslClientFactories()
          获得用于生成 SaslClient 的已知工厂的枚举。
static Enumeration<SaslServerFactory>getSaslServerFactories()
          获得用于生成 SaslServer 的已知工厂的枚举。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

QOP

public static final String QOP
属性名,指定要使用的保护级别。该属性包含一个逗号分隔的、客户端或服务器希望支持的保护级别值的有序列表。保护级别值 (qop) 是下列之一:
  • "auth" - 仅身份验证
  • "auth-int" - 身份验证和完整性保护
  • "auth-conf" - 身份验证、完整性和机密性保护
该列表的顺序指定了客户端或服务器的首选顺序。如果此属性不存在,则默认的保护级别是 "auth"。此常量的值是 "javax.security.sasl.qop"

另请参见:
常量字段值

STRENGTH

public static final String STRENGTH
属性名,指定要使用的密码强度。该属性包含一个逗号分隔的、客户端或服务器希望支持的密码强度值的有序列表。强度值是下列之一:
  • "low"
  • "medium"
  • "high"
该列表的顺序指定了客户端或服务器的首选顺序。实现应该允许配置这些值的含义。应用程序可以使用 Java Cryptography Extension(Java 加密扩展,JCE),借助可使用 JCE 的机制来控制对与该强度值相符的密码套件的选择。
如果此属性不存在,则默认的强度是 "high,medium,low"。此常量的值是 "javax.security.sasl.strength"

另请参见:
常量字段值

SERVER_AUTH

public static final String SERVER_AUTH
属性名,指定服务器是否必须验证客户端。如果服务器必须验证客户端,则该属性包含 "true";否则包含 "false"。默认值为 "false"
此常量的值是 "javax.security.sasl.server.authentication"

另请参见:
常量字段值

MAX_BUFFER

public static final String MAX_BUFFER
属性名,指定 SaslClient/SaslServer 接收缓冲区的最大大小(以字节为单位)。该属性包含一个整数的字符串表示形式。
如果此属性不存在,则由机制定义默认的大小。
此常量的值是 "javax.security.sasl.maxbuffer"

另请参见:
常量字段值

RAW_SEND_SIZE

public static final String RAW_SEND_SIZE
属性名,指定 SaslClient/SaslServer 初始发送缓冲区的最大大小(以字节为单位)。该属性包含一个整数的字符串表示形式。身份验证交换期间在客户端和服务器之间协商此属性的值。
此常量的值是 "javax.security.sasl.rawsendsize"

另请参见:
常量字段值

REUSE

public static final String REUSE
属性名,指定是否重用以前已验证过的会话信息。如果机制实现可以尝试重用以前已验证的会话信息,则该属性包含 "true";如果实现必须不重用以前已验证的会话信息,则该属性包含 "false"。"true" 设置仅用作一个提示:这不一定会实际重用该信息,很多原因都可能导致无法重用,这些原因包括(但不限于)机制不支持重用、可重用的信息已过期和同位体拒绝支持重用。 该属性的默认值是 "false"。此常量的值是 "javax.security.sasl.reuse"。 注意,不管是否提供了此属性,必须提供创建 SASL 客户端/服务器实例所需的所有其他参数和属性。也就是说,如果期望重用该信息,也不能提供较少的其他信息。 支持重用的机制实现可以允许为某些方面自定义其实现,如缓存大小、超时和可重用性标准。这些自定义内容与实现有关。

另请参见:
常量字段值

POLICY_NOPLAINTEXT

public static final String POLICY_NOPLAINTEXT
属性名,指定是否允许易受简单被动式攻击(例如 "PLAIN")的机制。如果不允许这种机制,则该属性包含 "true";如果允许这种机制,则包含 "false"。默认值为 "false"
此常量的值是 "javax.security.sasl.policy.noplaintext"

另请参见:
常量字段值