cargo / aws-lc-sys / audit
cargo : aws-lc-sys @ 0.41.0
PE Patrick Elsen signed 2026-05-28 published 2026-05-28

README.md

107 lines · markdown

# aws-lc-sys[![crates.io](https://img.shields.io/crates/v/aws-lc-sys.svg)](https://crates.io/crates/aws-lc-sys)[![GitHub](https://img.shields.io/badge/GitHub-aws%2Faws--lc--rs-blue)](https://github.com/aws/aws-lc-rs)**Autogenerated** Low-level bindings to the AWS-LC library for the Rust programming language. The versioning for thiscrate will be unstable.New releases of AWS-LC will correspond to a new `0.x.0` version of this crate. Features and/or fixes from AWS-LCwill not be backported to older versions of this crate. We do not recommend taking a direct dependency on this crate.See our [User Guide](https://aws.github.io/aws-lc-rs/) for guidance on installing build requirements.[Documentation](https://github.com/aws/aws-lc).## Build SupportThis crate pulls in the source code of AWS-LC to build with it. Bindings for popular platforms are pre-generated.To generate bindings for platforms where pre-generated bindings aren't available, you can either specify our `bindgen`feature or install the [bindgen-cli](https://crates.io/crates/bindgen-cli).### Pregenerated Bindings AvailabilityTargets-------------aarch64_apple_darwinaarch64_pc_windows_msvcaarch64_unknown_linux_gnuaarch64_unknown_linux_musli686_pc_windows_msvci686_unknown_linux_gnux86_64_apple_darwinx86_64_pc_windows_gnux86_64_pc_windows_msvcx86_64_unknown_linux_gnux86_64_unknown_linux_musl### Use of prebuilt NASM objectsFor Windows x86 and x86-64, NASM is required for assembly code compilation. On these platforms,we recommend that you install [the NASM assembler](https://www.nasm.us/). If NASM isdetected in the build environment *it is used* to compile the assembly files. However,if a NASM assembler is not available, and the "fips" feature is not enabled, then the build fails unless one of thefollowing conditions are true:* You are building for `x86-64` and either:    * The `AWS_LC_SYS_PREBUILT_NASM` environment variable is found and has a value of "1"; OR    * `AWS_LC_SYS_PREBUILT_NASM` is *not found* in the environment AND the "prebuilt-nasm" feature has been enabled.If the above cases apply, then the crate provided prebuilt NASM objects will be used for the build. To prevent usage ofprebuilt NASMobjects, install NASM in the build environment and/or set the variable `AWS_LC_SYS_PREBUILT_NASM` to `0` in the buildenvironment to prevent their use.#### About prebuilt NASM objectsPrebuilt NASM objects are generated using automation similar to the crate provided pregenerated bindings. See therepository's[GitHub workflow configuration](https://github.com/aws/aws-lc-rs/blob/main/.github/workflows/sys-bindings-generator.yml)for more information.The prebuilt NASM objects are checked into the repositoryand are [available for inspection](https://github.com/aws/aws-lc-rs/tree/main/aws-lc-sys/builder/prebuilt-nasm).For each PR submitted,[CI verifies](https://github.com/aws/aws-lc-rs/blob/main/.github/workflows/tests.yml)that the NASM objects newly built from source match the NASM objects currently in the repository.## Build PrerequisitesSince this crate builds AWS-LC as a native library, most build tools needed to build AWS-LC are applicableto `aws-lc-sys` as well. Go and Perl aren't absolutely necessary for `aws-lc-sys`, as AWS-LC provides generated buildfiles.[Building AWS-LC](https://github.com/aws/aws-lc/blob/main/BUILDING.md)AWS-LC is tested on a variety of C/C++ compiler, OS, and CPU combinations. For a complete list of tested combinationssee [tests/ci/Readme.md](https://github.com/aws/aws-lc/tree/main/tests/ci#unit-tests). If you use a different buildcombination and would like us to support it, please open an issue to usat [AWS-LC](https://github.com/aws/aws-lc/issues/new?assignees=&labels=&template=build-issue.md&title=).## Building with a FIPS-validated moduleThis crate does not offer the AWS-LC FIPS build. To use AWS-LC FIPS, please use the FIPS version of this crate,available at [aws-lc-fips-sys](https://crates.io/crates/aws-lc-fips-sys).## Post-Quantum CryptographyDetails on the post-quantum algorithms supported by aws-lc-sys can be found at[PQREADME](https://github.com/aws/aws-lc/tree/main/crypto/fipsmodule/PQREADME.md).## Security Notification ProcessIf you discover a potential security issue in *AWS-LC* or *aws-lc-sys*, we ask that you notify AWSSecurity via our[vulnerability reporting page](https://aws.amazon.com/security/vulnerability-reporting/).Please do **not** create a public GitHub issue.If you package or distribute *aws-lc-sys*, or use *aws-lc-sys* as part of a large multi-user service,you may be eligible for pre-notification of future *aws-lc-sys* releases.Please contact aws-lc-pre-notifications@amazon.com.## ContributionSee contributing file at [AWS-LC](https://github.com/aws/aws-lc/blob/main/CONTRIBUTING.md)## LicensingSee license at [AWS-LC](https://github.com/aws/aws-lc/blob/main/LICENSE)