public class Sasl extends Object
这类定义的政策如何定位,负载,并实例化SASL客户端和服务器。
例如,一个应用程序或库的事得到了SASL客户端:
可以接着使用实例创建一个身份验证连接。SaslClient sc = Sasl.createSaslClient(mechanisms, authorizationId, protocol, serverName, props, callbackHandler);
同样的,一个服务器获取一个SASL服务器通过使用代码如下:
SaslServer ss = Sasl.createSaslServer(mechanism, protocol, serverName, props, callbackHandler);
Modifier and Type | Field and Description |
---|---|
static String |
BOUND_SERVER_NAME
一个属性指定一个绑定服务器的绑定服务器的名称。
|
static String |
CREDENTIALS
指定要使用的凭据的属性的名称。
|
static String |
MAX_BUFFER
一个属性指定接收在
SaslClient /
SaslServer 字节缓冲区的最大大小的名字。
|
static String |
POLICY_FORWARD_SECRECY
一个属性的名称,该属性指定是否需要在会话之间实现前向保密的机制。
|
static String |
POLICY_NOACTIVE
指定是否不允许受活动(非字典)攻击的机制的属性的名称。
|
static String |
POLICY_NOANONYMOUS
指定是否不允许接受匿名登录的机制的属性的名称。
|
static String |
POLICY_NODICTIONARY
指定的属性的名称,指定是否容易受到被动字典攻击的机制是不允许的。
|
static String |
POLICY_NOPLAINTEXT
一个属性的名称,指定是否容易受到简单的普通的被动攻击(例如,“普通”)的机制是不允许的。
|
static String |
POLICY_PASS_CREDENTIALS
指定是否需要通过客户端凭据的机制的名称。
|
static String |
QOP
指定要使用的保护的属性的名称。
|
static String |
RAW_SEND_SIZE
名称属性指定的最大大小的原发
SaslClient /
SaslServer 字节缓冲区。
|
static String |
REUSE
指定是否重用先前已验证会话信息的属性的名称。
|
static String |
SERVER_AUTH
指定服务器是否必须对客户端进行身份验证的属性的名称。
|
static String |
STRENGTH
指定要使用的密码强度的属性的名称。
|
Modifier and Type | Method and Description |
---|---|
static SaslClient |
createSaslClient(String[] mechanisms, String authorizationId, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh)
使用提供的参数创建一个
SaslClient 。
|
static SaslServer |
createSaslServer(String mechanism, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh)
创建一个指定的机构
SaslServer 。
|
static Enumeration<SaslClientFactory> |
getSaslClientFactories()
获取生产
SaslClient 已知工厂枚举。
|
static Enumeration<SaslServerFactory> |
getSaslServerFactories()
获取生产
SaslServer 已知工厂枚举。
|
public static final String QOP
"auth"
-认证"auth-int"
认证和完整性保护"auth-conf"
认证和完整性和机密性保护"auth"
。此常数的值是
"javax.security.sasl.qop"
。
public static final String STRENGTH
"low"
"medium"
"high"
"high,medium,low"
。此常数的值是
"javax.security.sasl.strength"
。
public static final String SERVER_AUTH
"true"
如果服务器必须验证客户;
"false"
否则。默认的是
"false"
。这个常数的值是
"javax.security.sasl.server.authentication"
public static final String BOUND_SERVER_NAME
serverName
论点在
createSaslServer(java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, ?>, javax.security.auth.callback.CallbackHandler)
为零。在身份验证交换完成后,属性包含绑定的主机名。它只在服务器端可用。这个常数的值是
"javax.security.sasl.bound.server.name"
public static final String MAX_BUFFER
SaslClient
/
SaslServer
字节缓冲区的最大大小的名称。该属性包含一个整数的字符串表示形式。
"javax.security.sasl.maxbuffer"
public static final String RAW_SEND_SIZE
SaslClient
/
SaslServer
字节缓冲区。属性包含整数的字符串表示形式。此属性的值在验证交换过程中在客户端和服务器之间协商。这个常数的值是
"javax.security.sasl.rawsendsize"
public static final String REUSE
public static final String POLICY_NOPLAINTEXT
"true"
如果这样的机制是不允许的;如果这种机制允许
"false"
。默认的是
"false"
。这个常数的值是
"javax.security.sasl.policy.noplaintext"
public static final String POLICY_NOACTIVE
"true"
如果受到主动攻击的机制是不允许的;如果这种机制允许
"false"
。默认的是
"false"
。这个常数的值是
"javax.security.sasl.policy.noactive"
public static final String POLICY_NODICTIONARY
"true"
如果容易受到字典攻击的机制是不允许的;如果这种机制允许
"false"
。默认的是
"false"
。
"javax.security.sasl.policy.nodictionary"
。
public static final String POLICY_NOANONYMOUS
"true"
如果机制,接受匿名登录是不允许的;如果这种机制允许
"false"
。默认的是
"false"
。
"javax.security.sasl.policy.noanonymous"
。
public static final String POLICY_FORWARD_SECRECY
"true"
如果实现了保密之间的会话机制是必需的;如果不需要这样的机制
"false"
。默认的是
"false"
。
"javax.security.sasl.policy.forward"
。
public static final String POLICY_PASS_CREDENTIALS
"true"
如果通过客户端证书机制是必需的;如果不需要这样的机制
"false"
。默认的是
"false"
。
"javax.security.sasl.policy.credentials"
。
public static final String CREDENTIALS
"javax.security.sasl.credentials"
。
public static SaslClient createSaslClient(String[] mechanisms, String authorizationId, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh) throws SaslException
SaslClient
。这种方法使用
JCA Security Provider Framework,在“java加密体系API规范和参考”的描述,用于定位和选择
SaslClient
实施。首先,它获得
SaslClientFactory
实例有序列表从注册安全提供商“saslclientfactory”服务和指定的机制(S)。然后调用列表上的每个工厂实例
createSaslClient()
直到产生一个非零
SaslClient
实例。它返回非零
SaslClient
实例,或null如果搜索未能产生一个非空的
SaslClient
实例。
一个saslclientfactory寄存器与JCA安全提供者框架键的形式
SaslClientFactory.
mechanism_name
和价值观,是实现javax.security.sasl.SaslClientFactory
类名安全提供商。例如,包含一个工厂类,com.wiz.sasl.digest.ClientFactory
提供者,支持“DIGEST-MD5”机制将登记与JCA以下条目:SaslClientFactory.DIGEST-MD5 com.wiz.sasl.digest.ClientFactory
看到“java加密体系API规范和参考”有关如何安装和配置安全服务提供商。
mechanisms
-非空表机构名称的尝试。每个IANA注册名SASL机制。(例如“GSSAPI”、“CRAM-MD5”)。
authorizationId
-可能的空协议相关的识别可用于授权。如果为空或空,服务器从客户端的身份验证凭据中派生一个授权标识。当SASL认证成功完成,指定的实体被授予访问。
protocol
-非空字符串名称的协议的认证正在进行中(例如,“LDAP”)。
serverName
-非空的完全限定主机名的服务器进行身份验证。
props
-用于选择机制和配置的选择机制的认证交换性能可能是空集。例如,如果
props
包含
Sasl.POLICY_NOPLAINTEXT
财产价值
"true"
,然后选择机制不易简单被动攻击。除了在这个类中声明的标准属性,其他的,可能机制特定的属性,可以包括。未被忽略的属性与所选机制无关,包括非字符串键的任何Map项。
cbh
-可能的空回调函数通过SASL机制用于从应用程序/库得到进一步的信息来完成身份认证。例如,一个机制可能需要验证身份,从对方的密码和境界。认证ID是用
NameCallback
要求。密码是用
PasswordCallback
要求。境界是要求用
RealmChoiceCallback
如果有一列领域的选择,以及如果领域必须输入一个
RealmCallback
。
SaslClient
。如果为空,找不到一个
SaslClientFactory
将产生一个。
SaslException
如果不能创造一个
SaslClient
因为错误。
public static SaslServer createSaslServer(String mechanism, String protocol, String serverName, Map<String,?> props, CallbackHandler cbh) throws SaslException
SaslServer
。这种方法使用
JCA Security Provider Framework,在“java加密体系API规范和参考”的描述,用于定位和选择
SaslServer
实施。首先,它获得
SaslServerFactory
实例有序列表从注册安全提供商“saslserverfactory”服务和指定的机构。然后调用
createSaslServer()
每个工厂实例列表上直到一个产生一个非空
SaslServer
实例。它返回非零
SaslServer
实例,或null如果搜索未能产生一个非空的
SaslServer
实例。
一个saslserverfactory寄存器与JCA安全提供者框架键的形式
SaslServerFactory.
mechanism_name
和价值观,是实现javax.security.sasl.SaslServerFactory
类名安全提供商。例如,包含一个工厂类,com.wiz.sasl.digest.ServerFactory
提供者,支持“DIGEST-MD5”机制将登记与JCA以下条目:SaslServerFactory.DIGEST-MD5 com.wiz.sasl.digest.ServerFactory
看到“java加密体系API规范和参考”有关如何安装和配置安全服务提供商。
mechanism
-非空的机构名称。它必须是一个IANA注册名称SASL机制。(例如“GSSAPI”、“CRAM-MD5”)。
protocol
-非空字符串名称的协议的认证正在进行中(例如,“LDAP”)。
serverName
-全限定主机名的服务器,或null如果服务器没有绑定到任何特定的主机名。如果机构不允许绑定服务器,将抛出一
SaslException
。
props
-用于选择机制和配置的选择机制的认证交换性能可能是空集。例如,如果
props
包含
Sasl.POLICY_NOPLAINTEXT
财产价值
"true"
,然后选择机制不易简单被动攻击。除了在这个类中声明的标准属性,其他的,可能机制特定的属性,可以包括。未被忽略的属性与所选机制无关,包括非字符串键的任何Map项。
cbh
-可能的空回调函数通过SASL机制用于从应用程序/库得到进一步的信息来完成身份认证。例如,一个机制可能需要验证身份,从对方的密码和境界。认证ID是用
NameCallback
要求。密码是用
PasswordCallback
要求。境界是要求用
RealmChoiceCallback
如果有一列领域的选择,以及如果领域必须输入一个
RealmCallback
。
SaslServer
。如果为空,找不到一个
SaslServerFactory
将产生一个。
SaslException
如果不能创造一个
SaslServer
因为错误。
public static Enumeration<SaslClientFactory> getSaslClientFactories()
SaslClient
已知工厂枚举。此方法使用同样的算法定位工厂
createSaslClient()
。
public static Enumeration<SaslServerFactory> getSaslServerFactories()
SaslServer
已知工厂枚举。此方法使用同样的算法定位工厂
createSaslServer()
。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.