Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xmpp Openfire是否支持通过Http绑定的TLS?如果没有,还有什么选择_Xmpp_Ssl_Openfire_Smack - Fatal编程技术网

Xmpp Openfire是否支持通过Http绑定的TLS?如果没有,还有什么选择

Xmpp Openfire是否支持通过Http绑定的TLS?如果没有,还有什么选择,xmpp,ssl,openfire,smack,Xmpp,Ssl,Openfire,Smack,对于这个问题有些冗长,我提前表示歉意,但我觉得我需要提供一些额外的信息,以便恰当地说明我目前的困境 背景 好的,从很多方面来说,这个问题是一个后续问题。首先,我决定只使用使用TLS/SSL的.net库,但后来扩展到包括Java库,作为一个合适的替代方案,并尝试了一个简单的Smack API实现。在对TLS/SSL加密进行了详尽(且大部分是误导性的)研究之后,我意识到,当Openfire被正确配置为阻止不安全的连接时,大多数XMPP客户端在连接到Openfire时将只进行自动协商的TLS加密通信,

对于这个问题有些冗长,我提前表示歉意,但我觉得我需要提供一些额外的信息,以便恰当地说明我目前的困境

背景

好的,从很多方面来说,这个问题是一个后续问题。首先,我决定只使用使用TLS/SSL的.net库,但后来扩展到包括Java库,作为一个合适的替代方案,并尝试了一个简单的Smack API实现。在对TLS/SSL加密进行了详尽(且大部分是误导性的)研究之后,我意识到,当Openfire被正确配置为阻止不安全的连接时,大多数XMPP客户端在连接到Openfire时将只进行自动协商的TLS加密通信,只要我控制服务器端的用户名册(即,禁用用户从任何客户端创建新帐户的能力),我可以通过Openfire或多或少创建安全的端到端XMPP协作

新问题

在解决了之前的问题后,我尝试通过Openfire的HTTP绑定功能和端口使用此方法通过HTTP绑定进行安全通信。原因是我们的实现将要求用户从其他网络连接到Openfire服务器。此外,也许很明显,我们将e由于我们正在实施的系统的性质,无法控制这些用户防火墙将如何配置为允许通过端口5222进行传出套接字连接等等。我们的任何客户都不太可能愿意/允许打开他们的防火墙以建立到我们XMPP服务器的套接字连接

这个问题是因为Openfire的Http绑定似乎不支持自动TLS,而只支持(正如Openfire所说的)旧的SSL加密方法

问题(最后)

  • 首先,有人能证实这一点吗 Http实际上是通过Openfire绑定的 不支持自动TLS

  • 第二,Smack API支持吗 Http绑定?有一个关于Ignite realtime的 网站,似乎表明它 但不支持此票证 创建于2007年,也是最后一次 2011年6月的评论询问 已对此进行了任何更新 到目前为止,这一特征尚未消失 没有回答

  • 第三,似乎是我的最后一次 求助于实现安全 使用Openfire和 Http绑定将使用“旧 “SSL”方法,但此方法不适用 这似乎是一个很好的长期解决方案。 此外,Openfire论坛和其他 各种谣言制造者都表示 SSL功能将是 不推荐在未来的Openfire中使用 释放(有人能相信吗 这个谣言)所说的都是 SSL是我唯一真正的选择 使用Http绑定保护连接


默认情况下,Openfire为基于HTTP绑定(BOSH)的连接打开两个端口。一个是纯文本端口(7080),一个是TLS/SSL加密端口(7483)。这与用于常规套接字连接的两个端口(52225223)非常相似

通过非HTTP常规套接字端口(5222)连接的客户端可以将最初的纯文本通道提升为加密通道(使用STARTTLS)。当引入STARTTLS时(回到……好吧,那时我没有孩子),预先存在的TLS/SSL加密端口(5223)被称为“旧”的加密方式。也许有点过分热心,有人建议放弃“旧”技术,转而采用“新”技术

STARTTLS尚未显式添加到HTTP绑定(BOSH)实现的“纯文本”端口(7080)。这是出于设计。与端口5222上的“普通套接字”连接不同,BOSH使用传输协议:HTTP。BOSH的通道加密应在HTTP(传输)层(端口7483)完成,而不是在XMPP上完成(应用程序)层(转换回非基于HTTP的世界中的“旧”做事方式)。顺便说一句,这不是特定于Openfire的:它是由指定的

关于“旧”基于SSL的端口的弃用:Openfire开发人员之间的普遍共识是,删除“旧”SSL端口毫无意义:尽管该技术有些过时,但它的安全性并不低于更现代的(STARTTLS)技术。除此之外,关于删除“旧”SSL端口的讨论面向非基于HTTP的连接(客户端的套接字连接、服务器到服务器、外部组件等)。最后,关于是否更改BOSH的默认端口编号的类似但不同的讨论有些扭曲(7080/7483的明火用法早于标准波什端口编号的定义)

根据设计,BOSH实现旨在利用HTTP提供的加密,因此其加密端口将继续存在


至于Smack支持BOSH的问题:Smack支持:

默认情况下,Openfire为基于HTTP绑定(BOSH)的连接打开两个端口。一个是纯文本端口(7080),一个是TLS/SSL加密端口(7483)。这与用于常规套接字连接的两个端口(52225223)非常相似

通过非HTTP常规套接字端口(5222)连接的客户端可以将最初的纯文本通道提升为加密通道(使用STARTTLS)。当引入STARTTLS时(回到……好吧,那时我没有孩子),预先存在的TLS/SSL加密端口(5223)被称为“旧”的加密方式。也许有点过分热心,有人建议放弃“旧”技术,转而采用“新”技术

STARTTLS尚未显式添加到HTTP绑定(BOSH)实现的“纯文本”端口(7080)。这是出于设计。与端口5222上的“纯套接字”连接不同,BOSH使用tr