OpenSSL 3.3提供扩展的QUIC支持和高级API功能
这个基础安全通信库刚刚发布的新OpenSSL 3.3版本引入了许多功能、优化和增强,以提高OpenSSL的功能、安全性和效率。所以,让我们来看看它们。
OpenSSL 3.3的新增功能是什么?
- 增强的QUIC协议支持
:OpenSSL 3.3支持现代传输层网络协议QUIC。值得注意的添加包括用于跟踪QUIC连接的qlog支持、用于管理QUIC连接空闲超时的API、流创建和禁用隐式QUIC事件处理。 - 改进的流处理和连接
:的介绍
SSL_写入_ex2
API允许在QUIC中优化流结束信号,补充查询QUIC流缓冲区大小和利用率的新功能。此版本还允许在非阻塞模式下对QUIC连接和流对象进行有限的轮询,从而进一步增强应用程序的响应能力。
- 加密功能增强
:OpenSSL 3.3通过几个显著的功能扩展了其加密功能。新的EVP_DigestSqueeze()API为SHAKE摘要算法提供了不同的输出大小。此外,BLAKE2s哈希算法现在支持可配置的输出长度,反映了BLAKE2b的灵活性。此外,EVP_PKEY_fromdata增强了关键推导功能,包括对中国剩余定理参数的支持。 - 构建和配置改进
:此版本在Unix和Windows上都引入了CMake的导出程序,便于集成和部署。它还添加了一个新的atexit配置开关,用于在库卸载时管理OPENSSL_cleanup,同时增强了提供程序激活和加载设置。 - 安全性和协议优化
:OpenSSL 3.3包括一系列针对各种平台的优化,包括Microsoft Azure Cobalt 100、ARM Neoverse、Apple Silicon M3和RISC-V架构。这些优化确保了OpenSSL在各种硬件环境中始终处于性能和安全性的前沿。 - API和功能优化
:在众多改进中,此版本提供了用于会话时间管理的新API,忽略TLS签名算法配置中的未知条目,并在多线程场景中更有效地管理X509证书。此外,它还引入了对HTTP响应标头的限制,以增强客户端的安全性。
解决兼容性和安全性问题
OpenSSL 3.3还解决了潜在的兼容性问题和安全问题。它引入了ITU-T标准对最小输入字符串长度的检查,调整了配置设置的处理,并为HTTP客户端标头设置了新的限制。此外,它还将默认的散列函数从MD5迁移到用于HMAC操作的SHA256。
Bug修复及更新
此版本解决了特定的错误,例如BIO_get_new_index()函数的上限限制,确保OpenSSL保持可靠和健壮。对于热衷于利用新的QUIC功能的开发人员和用户,OpenSSL团队鼓励查看QUIC自述文件,该文件提供了有价值的文档和示例代码。
OpenSSL 3.3中所有更改的详细列表可以在项目的更改日志中找到。