我读到ejabberd建议使用STARTTLS协商来实现通信实体之间的安全连接。当我安装ejabberd时,默认情况下它附带了一个TLS证书。
那么,为什么我需要购买证书才能安装呢?既然我们有默认证书,从证书授权人那里购买新证书的目的是什么?
当我在机器上部署ejabberd时,我的域将如何使用默认证书?客户端将如何验证默认证书?
发布于 2015-07-28 12:14:32
您可以将ejabberd与SSL / STARTTLS与提供的TLS证书一起使用。但是,该证书只是一个自签名证书.这意味着:
在第二种情况下,这意味着如果一个中间网络设备(即Wifi接入点)试图模拟您的服务器,它可以向用户显示任何自签名证书,假装是您的域。
因此,您可以使用自签名的证书来加密通信,但是为了保护您的用户不受中间人攻击,您需要找到一种让客户端现在可以信任证书的方法。
这可以通过从受信任的机构购买证书(这将证明您的证书域)或通过使客户端支持定义良好的证书列表来实现。这称为证书钉扎,但是它需要将可接受的证书列表构建到客户端,这可能是不可能的。
在您的情况下,这可能是好的,所以购买证书不是强制性的。但是,即使您计划使用自签名证书,也不使用默认的ejabberd自签名证书.ejabberd提供的证书将与您自己的域不匹配。您至少应该生成与实际XMPP域相匹配的自签名证书:如何使用openssl创建自签名证书?
https://stackoverflow.com/questions/31674379
复制相似问题