博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
openfire 3.8.1 的JDK陷阱
阅读量:5832 次
发布时间:2019-06-18

本文共 4192 字,大约阅读时间需要 13 分钟。

  hot3.png

由于系统是使用RMXMPPLib.dll基础上的二次开发,在连接到openfire服务器时,发现对于window版本的Openfire可以连接成功,但在linux版本下,就是无法连接。比对2者的登入过程日志以及google很久后,发现居然是JDK版本不对引起的。

JDK6.0的版本,对于DIGEST-MD5算法支持存在问题,openfire在判断JDK版本为6.0时,就自动会关闭采用DIGEST-MD5的登入验证算法,但RMXMPPLib.dll默认就是采用这种登入算法,所以就登入不成功。

在linux JDK6.0下的日志过程如下:

JIVE-SHAREDSECRET
PLAIN
ANONYMOUS
zlib
SSL status: "before/connect initialization"SSL status: "before/connect initialization"SSL status: "SSLv3 write client hello A"SSL status: "SSLv3 read server hello A"SSL status: "SSLv3 read server certificate A"SSL status: "SSLv3 read server key exchange A"SSL status: "SSLv3 read server done A"SSL status: "SSLv3 write client key exchange A"SSL status: "SSLv3 write change cipher spec A"SSL status: "SSLv3 write finished A"SSL status: "SSLv3 flush data"SSL status: "SSLv3 read finished A"SSL status: "SSL negotiation finished successfully"SSL status: "SSL negotiation finished successfully"Cipher: name = EDH-RSA-DES-CBC3-SHA; description = EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1; bits = 168; version = TLSv1/SSLv3;
JIVE-SHAREDSECRET
PLAIN
ANONYMOUS
zlib
zlib
SSL status: "SSL negotiation finished successfully"

主要问题出在:

<stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>JIVE-SHAREDSECRET</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/></stream:features>

这是openfire运行验证的集中机制,有JIVE-SHAREDSECRET,PLAIN,ANONYMOUS。但是就是没有DIGEST-MD5

在windows JDK5.0下的日志过程:

PLAIN
CRAM-MD5
ANONYMOUS
DIGEST-MD5
JIVE-SHAREDSECRET
zlib
SSL status: "before/connect initialization"SSL status: "before/connect initialization"SSL status: "SSLv3 write client hello A"SSL status: "SSLv3 read server hello A"SSL status: "SSLv3 read server certificate A"SSL status: "SSLv3 read server key exchange A"SSL status: "SSLv3 read server done A"SSL status: "SSLv3 write client key exchange A"SSL status: "SSLv3 write change cipher spec A"SSL status: "SSLv3 write finished A"SSL status: "SSLv3 flush data"SSL status: "SSLv3 read finished A"SSL status: "SSL negotiation finished successfully"SSL status: "SSL negotiation finished successfully"Cipher: name = EDH-RSA-DES-CBC3-SHA; description = EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1; bits = 168; version = TLSv1/SSLv3;
PLAIN
CRAM-MD5
ANONYMOUS
DIGEST-MD5
JIVE-SHAREDSECRET
zlib
zlib
PLAIN
CRAM-MD5
ANONYMOUS
DIGEST-MD5
JIVE-SHAREDSECRET
cmVhbG09ImNvbmR5Iixub25jZT0iMXJveGRITXAvajc5elNDUVg3S0R4dFk1bDdseWE0cWQ3UlBYZlNMTCIscW9wPSJhdXRoIixjaGFyc2V0PSJ1dGYtOCIsYWxnb3JpdGhtPSJtZDUtc2VzcyI=
dXNlcm5hbWU9IjU5MTEyMzQyNiIscmVhbG09ImNvbmR5Iixub25jZT0iMXJveGRITXAvajc5elNDUVg3S0R4dFk1bDdseWE0cWQ3UlBYZlNMTCIsY25vbmNlPSJiOGI3YTYyZWIyNjhkYjNjYmE3MDAxMmVkYWFlNjUzYiIsbmM9MDAwMDAwMDEscW9wPWF1dGgsZGlnZXN0LXVyaT0ieG1wcC9jb25keSIsY2hhcnNldD11dGYtOCxyZXNwb25zZT03OTcwNDkxNDcxOTJiODZjNWRmYWVkYjAzYzdkYmZhNg==
cnNwYXV0aD03MTc0MzA4MGM5ZmNhY2IyMWE4NGFhNzI0MzI1YWI4ZA==

转载于:https://my.oschina.net/condy/blog/152957

你可能感兴趣的文章
phpcms与discuz的ucenter整合
查看>>
Linux crontab定时执行任务
查看>>
mysql root密码重置
查看>>
33蛇形填数
查看>>
选择排序
查看>>
SQL Server 数据库的数据和日志空间信息
查看>>
前端基础之JavaScript
查看>>
自己动手做个智能小车(6)
查看>>
自己遇到的,曾未知道的知识点
查看>>
P1382 楼房 set用法小结
查看>>
分类器性能度量
查看>>
windows 环境下切换 python2 与 pythone3 以及常用命令
查看>>
docker 基础
查看>>
解决灾难恢复后域共享目录SYSVOL与NELOGON共享丢失
查看>>
eclipse集成weblogic开发环境的搭建
查看>>
写一个bat文件,删除文件名符合特定规则,且更改日期在某
查看>>
我的友情链接
查看>>
写Use Case的一种方式,从oracle的tutorial抄来的
查看>>
【C#】protected 变量类型
查看>>
Ubuntu解压
查看>>