#openssl #build #source #logic #version #assembly

构建 openssl-src

OpenSSL 的源代码及其构建逻辑

73 个稳定版本

300.3.1+3.3.1 2024年6月4日
300.2.3+3.2.1 2024年2月12日
300.2.1+3.2.0 2023年12月11日
300.1.6+3.1.4 2023年10月25日
110.0.1+1.1.0f2017年9月15日

#101 in 密码学

Download history 246325/week @ 2024-04-30 245334/week @ 2024-05-07 256093/week @ 2024-05-14 272219/week @ 2024-05-21 287561/week @ 2024-05-28 283963/week @ 2024-06-04 269802/week @ 2024-06-11 255951/week @ 2024-06-18 262997/week @ 2024-06-25 229239/week @ 2024-07-02 273025/week @ 2024-07-09 298739/week @ 2024-07-16 285428/week @ 2024-07-23 305774/week @ 2024-07-30 296994/week @ 2024-08-06 315598/week @ 2024-08-13

1,263,400 每月下载量
1,501 个 crate 中使用 (直接使用 9 个)

MIT/Apache

31MB
757K SLoC

C 526K SLoC // 0.1% comments Perl 210K SLoC // 0.1% comments Bitbake 10K SLoC // 0.1% comments GNU Style Assembly 6.5K SLoC // 0.1% comments Shell 1.5K SLoC // 0.2% comments M4 1.5K SLoC // 0.0% comments Prolog 642 SLoC Rust 533 SLoC // 0.2% comments Assembly 311 SLoC // 0.1% comments ASN.1 136 SLoC // 0.5% comments Emacs Lisp 35 SLoC // 0.5% comments Python 29 SLoC // 0.3% comments Ruby 16 SLoC // 0.3% comments

openssl-src

此 crate 包含构建 OpenSSL 的逻辑,并旨在由 openssl-sys crate 使用。理论上你不太可能与它交互!

版本控制

此 crate 遵循每个维护的大版本的最新次要和补丁版本,根据 OpenSSL 发布策略。它不支持 LTS 版本。

crate 版本遵循 X.Y.Z+B 模式

  • 主版本 X 是上游 OpenSSL API/ABI 兼容版本
    • 300 对 3.Y.Z
  • 次要 Y 和补丁 Z 版本在修改 crate 时增加,无论是 OpenSSL 更新还是内部更改。
  • B 包含完整的上游 OpenSSL 版本,如 1.1.1k3.0.7。请注意,实际上在比较中忽略此字段,仅用于文档。

Windows MSVC 汇编

windows-msvc 目标构建 OpenSSL 时,用户可以选择是否启用汇编语言例程,这需要 nasm
构建过程将自动检测 nasm.exe 是否安装在与 PATH 相关的位置。如果找到,将启用汇编语言例程(换句话说,不会配置 no-asm 选项)。

您可以通过设置 OPENSSL_RUST_USE_NASM 环境变量来操作此行为

  • 1:强制启用汇编语言例程。(如果nasm.exe不可用,则引发恐慌。)
  • 0:即使nasm.exe可以在PATH中找到,也强制禁用汇编语言例程。
  • 未设置:让构建过程自动检测nasm.exe是否已安装。如果找到,则启用。如果没有找到,则禁用。

然而,这个环境变量在非Windows平台上不起作用。

许可协议

本项目根据您的选择采用以下任一许可协议

任您选择。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在openssl-src中的任何贡献,将如上双重许可,不附加任何额外条款或条件。

依赖项