文章摘要
OpenSSL发布了4.0.0版本,这是该开源加密工具库的重要更新。
文章总结
OpenSSL 4.0.0 版本发布公告
核心内容概述: OpenSSL 4.0.0 是一个重要功能更新版本,引入了多项新特性,同时包含以下关键变更:
【重大变更】 1. 格式调整 - 移除了十六进制格式输出密钥数据(如RSA模数)时首字节≥0x80的多余前导"00:" - 标准化十六进制转储宽度:签名数据24字节,其他数据16字节
- 安全增强
- 在FIPS模式下强制实施PBKDF2-HMAC的密钥长度下限检查
- 启用X509严格标志时增加AKID验证
- 强化CRL验证流程
- 架构调整
- 不再通过atexit()清理全局数据
- BIO_snprintf()改用系统库实现
- ASN1_STRING结构体改为不透明类型
- 废弃功能移除
- 停止支持SSLv2 Client Hello和SSLv3协议
- 移除引擎(ENGINE)支持
- 默认禁用RFC 8422废弃的椭圆曲线
- 移除c_rehash脚本工具(改用openssl rehash)
【新增功能】 1. 协议支持 - 加密客户端问候(ECH, RFC 9849) - 国密算法支持(SM2签名、SM3哈希等) - 后量子混合曲线curveSM2MLKEM768
- 密码学扩展
- 新增cSHAKE函数(SP 800-185)
- 支持ML-DSA-MU摘要算法
- 新增SNMP KDF和SRTP KDF
- 部署优化
- 支持延迟执行FIPS自检(通过fipsinstall -defer_tests)
- Windows平台支持动态/静态VC运行时链接
- TLS 1.2支持协商式FFDHE密钥交换(RFC 7919)
【兼容性提示】 该版本涉及大量API签名变更(特别是X509相关函数增加const限定符),建议开发者查阅完整变更日志进行适配。
注:原公告中的导航菜单、页脚信息等非核心内容已精简,完整技术细节可参考官方发布页面。
评论总结
以下是评论内容的总结:
对新功能的积极评价
- 支持加密客户端hello功能受到欢迎
"Finally encrypted client hello support \o/"
"Just in time for the suckerpinch video"
- 支持加密客户端hello功能受到欢迎
对版本升级的担忧
- 从3.x升级到4.0的难度引发讨论,历史上升级困难
"I wonder how hard it is to move from 3.x to 4.0.0?"
"From what I remember hearing, the move from 2 to 3 was hard." - 有评论认为v3版本本就不应使用
"According to this one should not be using v3 at all.."
- 从3.x升级到4.0的难度引发讨论,历史上升级困难
对兼容性问题的讨论
- 清理旧代码(如Engines)获得认可,但破坏兼容性始终是权衡
"engines in particular will not be missed"
"breaking compatibility is always a tradeoff" - 实际升级体验比OpenSSL 3更平滑
"this transition has been very smooth"
- 清理旧代码(如Engines)获得认可,但破坏兼容性始终是权衡
对项目现状的询问
- 有人询问OpenSSL当前维护状况是否改善
"How is OpenSSl these days?"
"It seems like it is on firmer/more organized footing these days?"
- 有人询问OpenSSL当前维护状况是否改善
升级动机疑问
- 用户刚升级到3.5获取pq支持,对4.0升级价值存疑
"Anything that might tempt me to upgrade to 4.0?"
- 用户刚升级到3.5获取pq支持,对4.0升级价值存疑