文章摘要
Let's Encrypt将于2月11日更新默认颁发的证书配置,虽然大多数Prosody用户无需操作,但使用新证书的服务器可能会与部分XMPP服务器出现连接问题。
文章总结
标题:Let's Encrypt即将进行的变更及其对运营商的影响
主要内容概述:
Let's Encrypt将于2026年2月11日对其默认颁发的证书进行重要调整,新证书将仅支持“服务器认证”(server authentication),而不再默认包含“客户端认证”(client authentication)功能。这一变更可能影响部分XMPP服务器的互联互通。
关键细节:
证书用途变更
- 当前证书同时支持“服务器认证”和“客户端认证”,但新证书将仅保留前者。
- 变更依据:Let's Encrypt 2025年5月14日发布的公告。
对XMPP服务器的影响
- Prosody服务器不受直接影响:因其已支持仅含服务器认证的证书。
- 其他服务器可能存在问题:未实现替代验证机制的旧版本(如ejabberd需25.08及以上版本、Openfire)可能拒绝来自使用新证书的服务器的连接。
潜在问题场景
- 若目标服务器严格依赖证书验证且未启用备用协议(如XMPP Dialback),跨服务器连接将完全失败。
- 错误日志示例:
Server-to-server connection failed: Could not authenticate to remote server
测试建议
向测试地址le-tlsserver.badxmpp.eu发送XMPP Ping(XEP-0199),成功响应表明服务器兼容新证书。
背景补充:
- 证书扩展用途(Extended Key Usage):传统上,TLS规范要求发起连接的服务器(在XMPP中视为TLS客户端)需验证“客户端认证”权限,但这一要求与XMPP的服务器间通信模型存在冲突。
- 标准化争议:浏览器厂商主导的CA生态对非浏览器应用(如XMPP)的证书支持逐渐收紧,相关规范更新草案未获IETF共识。
应对建议:
运营商应尽快升级不兼容的服务器软件,确保跨服务器通信不受影响。若遇到连接问题,需联系对方服务器管理员更新系统。
(注:原文中的导航菜单、版权声明及无关技术细节已省略,保留核心信息。)
评论总结
总结评论内容:
- 对Let's Encrypt(LE)取消客户端认证证书的批评
- 认为这是对去中心化网络的攻击:"Why did LE make this change? It feels like a rather deliberate attack on the decentralised web."(RobotToaster)
- 认为这是不必要的限制:"What is gained by slamming the door on other applications than servers being able to get certs?"(jauntywundrkind)
- 对Google主导CA生态系统的批评
- 认为政策过于以Google为中心:"blame Google"(everfrustrated)
- 批评生态系统被浏览器厂商控制:"The current CA ecosystem is Google. They want that only Google-applications get certificates from CAs."(nilslindemann)
- 支持取消客户端认证证书的观点
- 认为公开CA不适合客户端认证:"Client authentication with publicly-trusted...is bad. It doesn't actually authenticate anything at all"(nickf)
- 指出安全风险:"Using web pki for client certs seems like a recipe for disaster"(bawolff)
- 技术替代方案的讨论
- 建议使用DANE:"I wonder if issues like this couldn't be a use case for DANE"(denus)
- 讨论dialback方案:"Is there a reason why dialback isn't the answer?"(agwa)
- 对XMPP等非Web服务的影响
- 关注具体实现问题:"for those wondering if ejabberd Debian systems will be impacted"(benjojo12)
- 比较不同协议效率:"XMPP is significantly more lightweight and yet more featureful compared to say Discord"(abnormalitydev)