tigaes中有SCRAM-SHA-1的源码,但是默认sals只支持PLAIN和ANONYMOUS,如何把SCRAM-SHA-1用起来?
参考官方开发文档:
http://docs.tigase.org/tigase-server/7.0.0/Development_Guide/html/#saslcmac
服务器端:
1、把“SCRAM-SHA-1”加入服务器支持的sals列表中
在tigase.auth.mechanisms.TigaseSaslServerFactory类getMechanismNames()中加入“SCRAM-SHA-1”
2、配置“SCRAM-SHA-1”对应的callbackhandler
在init.properties中加入
sess-man/plugins-conf/urn\:ietf\:params\:xml\:ns\:xmpp-sasl/callbackhandler-SCRAM-SHA-1=tigase.auth.impl.ScramCallbackHandler
3、把jdk/jre/lib/jce.jar和jdk/jre/lib/ext/sunjce_provider.jar引入项目中
不加,验证时服务器会报错,加密方法找不到
客户端:
客户端我是用smack 4.1.0进行测试的,在login前进行配置。
SCRAMSHA1Mechanism scramSHA1Mechanism = new SCRAMSHA1Mechanism(); SASLAuthentication.registerSASLMechanism(scramSHA1Mechanism);