java命名空间javax.security.sasl类sasl的类成员方法:
createsaslserver定义及介绍
本文导语:
createsaslserver
public static saslserver createsaslserver(string mechanism,
string protocol,
string servername,
map props,
ca...
createsaslserver
public static saslserver createsaslserver(string mechanism,
string protocol,
string servername,
map props,
callbackhandler cbh)
throws saslexception
- 为指定机制创建一个 saslserver。
此方法使用 jca security provider framework(在 "java cryptography architecture api specification & reference" 中所有描述)来查找和选择 saslserver 实现。
首先,它从 "saslserverfactory" 服务的已注册安全提供者和指定的 sasl 机制中获得 saslserverfactory 实例的有序列表。然后它在列表中的每个工厂实例上调用 createsaslserver(),直到某个调用生成一个非 null 的 saslserver 实例为止。此方法返回非 null 的 saslserver 实例,如果搜索无法生成非 null 的 saslserver 实例,则返回 null。
saslserverfactory 的安全提供者向 jca security provider framework 注册以下形式的键:
saslserverfactory.机制名
和值(即 javax.security.sasl.saslserverfactory 实现的类名)。
例如,一个包含工厂类 com.wiz.sasl.digest.serverfactory(支持 "digest-md5" 机制)的提供者将向 jca 注册以下项: saslserverfactory.digest-md5 com.wiz.sasl.digest.serverfactory
有关如何安装和配置安全服务提供者的信息,请参阅 "java cryptography architecture api specification & reference"。
- 参数:
mechanism
- 非 null 的机制名。它必须是 sasl 机制的 iana 注册名。(例如 "gssapi"、"cram-md5")。protocol
- 非 null 的协议(例如 "ldap")字符串名,将为它执行验证。servername
- 服务器的非 null 完全限定主机名。props
- 可能为 null 的属性集,用于选择 sasl 机制并配置所选机制的验证交换。例如,如果 props 包含 sasl.policy_noplaintext
属性,且属性值为 "true",则所选的 sasl 机制必须不易受到简单被动式攻击的危害。除了在此类中所声明的标准属性外,也可以包括其他的可能特定于机制的属性。忽略与所选机制无关的属性,包括带有非字符串关键字的所有映射项。cbh
- sasl 机制使用的回调处理程序(可能为 null),以便为完成验证而从应用程序/库获得更多的信息。例如,sasl 机制可能需要从调用者获得验证 id、密码和域。使用 namecallback 来请求验证 id。使用 passwordcallback 来请求密码。如果要从域列表中选择,则使用 realmchoicecallback 来请求域,如果必须输入域,则使用 realmcallback 来请求域。
- 返回:
- 使用所提供参数创建的 saslserver,可能为 null。如果为 null,则无法找到可生成 saslserver 的 saslserverfactory。
- 抛出:
saslexception
- 如果因为错误而无法创建 saslserver。