AWS-LC Rust低级绑定 aws-lc-sys

aws___ 发布于 2026-02-18 阅读 81

aws-lc-sys 是 AWS-LC 加密库的 Rust 低级绑定,自动生成,版本不稳定。它支持多种平台预生成绑定,需要安装 NASM 用于 Windows 上的汇编编译,并可选择使用预构建的 NASM 对象。构建前提包括 C/C++ 编译器等,不强制需要 Go 和 Perl。该 crate 不提供 FIPS 构建,但另有 aws-lc-fips-sys 用于此目的。它支持后量子密码学算法。安全通知和贡献需参考上游 AWS-LC 项目。

crates.io GitHub

自动生成的 针对 Rust 编程语言的 AWS-LC 库的低级绑定。此 crate 的版本号将不稳定。AWS-LC 的新版本将对应此 crate 的新 0.x.0 版本。来自 AWS-LC 的功能和/或修复将不会回溯到此 crate 的旧版本。我们不建议直接依赖此 crate。

有关安装构建要求的指导,请参阅我们的用户指南

文档

构建支持

此 crate 会引入 AWS-LC 的源代码进行构建。常用平台的绑定已预先生成。要为没有预生成绑定的平台生成绑定,你可以启用 bindgen 特性,或安装 bindgen-cli

预生成绑定的可用性

  • aarch64_apple_darwin
  • aarch64_pc_windows_msvc
  • aarch64_unknown_linux_gnu
  • aarch64_unknown_linux_musl
  • i686_pc_windows_msvc
  • i686_unknown_linux_gnu
  • x86_64_apple_darwin
  • x86_64_pc_windows_gnu
  • x86_64_pc_windows_msvc
  • x86_64_unknown_linux_gnu
  • x86_64_unknown_linux_musl

使用预构建的 NASM 对象

对于 Windows x86 和 x86-64,汇编代码编译需要 NASM。在这些平台上,我们建议安装 NASM 汇编器。如果在构建环境中检测到 NASM,则它会被使用来编译汇编文件。但是,如果没有可用的 NASM 汇编器且未启用 "fips" 功能,则构建会失败,除非满足以下条件之一:

  • 你正在为 x86-64 构建,并且满足以下任一条件:
    • 找到 AWS_LC_SYS_PREBUILT_NASM 环境变量,其值为 "1";或
    • 在环境中 未找到 AWS_LC_SYS_PREBUILT_NASM,并且已启用 "prebuilt-nasm" 功能。

如果满足以上条件,则此 crate 提供的预构建 NASM 对象将用于构建。要禁用预构建 NASM 对象,请在构建环境中安装 NASM 和/或将变量 AWS_LC_SYS_PREBUILT_NASM 设置为 0 以防止其使用。

关于预构建的 NASM 对象

预构建的 NASM 对象是通过类似此 crate 提供的预生成绑定的自动化方式生成的。有关更多信息,请参阅仓库的 GitHub 工作流配置。预构建的 NASM 对象已签入仓库,并可供检查。对于每个提交的 PR,CI 会验证 从源代码新构建的 NASM 对象是否与仓库中当前的 NASM 对象匹配。

构建先决条件

由于此 crate 会将 AWS-LC 构建为本机库,因此构建 AWS-LC 所需的大多数构建工具也适用于 aws-lc-sys。对于 aws-lc-sys,Go 和 Perl 并非绝对必要,因为 AWS-LC 提供了生成的构建文件。

构建 AWS-LC

AWS-LC 已在多种 C/C++ 编译器、操作系统和 CPU 组合上进行了测试。有关测试组合的完整列表,请参阅 tests/ci/Readme.md。如果你使用了不同的构建组合并希望我们支持它,请在 AWS-LC 仓库提交 issue。

使用 FIPS 验证模块构建

此 crate 不提供 AWS-LC FIPS 构建。要使用 AWS-LC FIPS,请使用此 crate 的 FIPS 版本,可在 aws-lc-fips-sys 获取。

后量子密码学

有关 aws-lc-sys 支持的后量子算法的详细信息,请参见 PQREADME

安全通知流程

如果你在 AWS-LCaws-lc-sys 中发现潜在的安全问题,请通过我们的漏洞报告页面 通知 AWS 安全部门。请不要创建公开的 GitHub issue。

如果你打包或分发 aws-lc-sys,或将 aws-lc-sys 用作大型多用户服务的一部分,你可能有资格获得未来 aws-lc-sys 版本的预先通知。请联系 aws-lc-pre-notifications@amazon.com

贡献

参见 AWS-LC 的贡献文件。

许可

参见 AWS-LC 的许可证。

  • 原文链接: github.com/aws/aws-lc-rs...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论