OpenSSL 3.0.0 带来了许多重大更改和增强功能

经过三年的开发和19个试用版 最近宣布发布新版 OpenSSL 3.0.0 哪一个 有超过 7500 个变化 由 350 名开发人员贡献,这也代表了版本号的重大变化,这是由于向传统编号的过渡。

从现在开始,版本号中的第一个数字(主要)仅在 API / ABI 级别违反兼容性时才会更改,第二个(次要)在不更改 API / ABI 的情况下增加功能时发生变化。 更正更新将随第三位数字(补丁)更改一起提供。 在 3.0.0 之后立即选择了数字 1.1.1,以避免与正在为 OpenSSL 开发的 FIPS 模块(编号为 2.x)发生冲突。

该项目的第二个主要变化是 从双重许可证过渡 (OpenSSL 和 SSLeay) 到 Apache 2.0 许可证。 以前使用的本机 OpenSSL 许可证基于旧版 Apache 1.0 许可证,并且在使用 OpenSSL 库时需要在宣传材料中明确提及 OpenSSL,如果产品随附 OpenSSL,则需要特别说明。

这些要求使得之前的许可证与 GPL 不兼容,使得难以在 GPL 许可的项目中使用 OpenSSL。 为了规避这种不兼容性,GPL 项目被迫执行特定的许可协议,其中 GPL 的正文补充了一个条款,明确允许应用程序链接到 OpenSSL 库,并提到 GPL 不适用于绑定到 OpenSSL .

OpenSSL 3.0.0 中的新增功能

对于 OpenSSL 3.0.0 中出现的部分新颖性,我们可以发现 提出了一个新的 FIPS 模块,包括密码算法的实现 符合 FIPS 140-2 安全标准(模块认证过程计划于本月开始,预计明年 FIPS 140-2 认证)。 新模块更易于使用并且连接到许多应用程序不会比更改配置文件更困难。 默认情况下,FIPS 处于禁用状态,需要启用 enable-fips 选项。

在 libcrypto 中实现了连接服务提供者的概念 它取代了引擎的概念(不推荐使用 ENGINE API)。 在供应商的帮助下,您可以为加密、解密、密钥生成、MAC 计算、数字签名的创建和验证等操作添加自己的算法实现。

还强调的是 添加了对 CMP 的支持它可用于向 CA 服务器请求证书、更新证书和吊销证书。 使用 CMP 是由新的实用程序 openssl-cmp 完成的,它也实现了对 CRMF 格式的支持和通过 HTTP/HTTPS 的请求传输。

已提出用于密钥生成的新编程接口: EVP_KDF(密钥派生函数 API),它简化了新 KDF 和 PRF 实现的合并。 旧的 EVP_PKEY API(通过其提供 scrypt、TLS1 PRF 和 HKDF 算法)已被重新设计为在 EVP_KDF 和 EVP_MAC API 之上实现的中间层。

并且在协议的执行中 TLS 提供了使用 Linux 内核中内置的 TLS 客户端和服务器的能力 以加快操作。 要启用 Linux 内核提供的 TLS 实现,必须启用“SSL_OP_ENABLE_KTLS”选项或“enable-ktls”设置。

另一方面,提到 API 的很大一部分已移至弃用类别- 在项目代码中使用不推荐使用的调用将在编译期间生成警告。 这 低级 API 与某些算法相关联 已被正式宣布过时。

OpenSSL 3.0.0 中的官方支持现在仅提供给高级 EVP API,这些 API 来自某些类型的算法(此 API 包括,例如,EVP_EncryptInit_ex、EVP_EncryptUpdate 和 EVP_EncryptFinal 函数)。 过时的 API 将在下一个主要版本之一中删除。 通过 EVP API 提供的传统算法实现(例如 MD2 和 DES)已移至单独的“传统”模块,默认情况下该模块处于禁用状态。

最后 如果您有兴趣了解更多信息, 您可以查看详细信息 在下面的链接中。


本文内容遵循我们的原则 编辑伦理。 要报告错误,请单击 信息.

成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。