OpenSSL 3.4.0 现已发布,这是一个功能版本。包含以下潜在​​重大或不兼容的变化:

  • 弃用 TS_VERIFY_CTX_set_* 函数并添加具有改进语义的替代 TS_VERIFY_CTX_set0_* 函数
  • 重新设计了 Windows 上 OPENSSLDIR/ENGINESDIR/MODULESDIR 的使用,这样以前的 build time locations 现在可以在运行时通过 registry keys 定义
  • FIPS provider 中的 X25519 和 X448 密钥交换实现未经批准且具有fips=noproperty。
  • SHAKE-128 和 SHAKE-256 实现不再具有默认摘要长度。这意味着这些算法不能与 EVP_DigestFinal/_ex() 一起使用,除非之前设置了xoflen参数。
  • 如果在配置文件中设置config_diagnostics=1,将导致 SSL_CTX_new() 和 SSL_CTX_new_ex() 在 ssl 模块配置出现错误时返回错误信息。
  • 对于所有最低 TLS 版本 > 1.0 的连接,TLS 客户端 hello 中将使用空的重新协商扩展,而不是空的重新协商 SCSV。
  • 弃用 SSL_SESSION_get_time()、SSL_SESSION_set_time() 和 SSL_CTX_flush_sessions() 函数,转而使用各自的_ex 函数,这些函数在具有 Y2038 安全time_t的平台上是 Y2038 安全的。

此版本添加了以下新功能:

  • 支持直接获取复合签名算法,如 RSA-SHA2-256,包括新的 API functions
  • FIPS provider 中的 FIPS 指标支持以及未来 FIPS 140-3 验证所需的 FIPS provider 的各种更新
  • PKCS#12 中 RFC 9579 (PBMAC1) 的实现
  • 使用静态链接的 jitterentropy 库的新随机种子源 RNG JITTER
  • 新选项-not_before-not_after,用于明确设置使用reqx509 应用程序创建的证书的开始和结束日期
  • 支持 RFC 9150 和 TLS 1.3 中的 TLS_SHA256_SHA256 和 TLS_SHA384_SHA384 纯密码套件
  • 支持在 CMP 中请求 CRL
  • 支持与属性证书相关的其他 X.509v3 扩展
  • 初始属性证书 (RFC 5755) 支持
  • 可以自定义 ECC 组初始化以使用预先计算的值来节省 CPU 时间,并通过 P-256 实现使用此功能

更新公告:https://openssl-library.org/news/openssl-3.4-notes/index.html

免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表一休教程网的观点和立场。