What's Changed
- Add ECDSA P-256 SHA-1 ASN.1 signature verification by @assafvayner in #1214
- Adds
ECDSA_P256_SHA1_ASN1for verifying ASN.1 DER-encoded ECDSA P-256 signatures over SHA-1, so applications can verify legacy signatures such as CloudFront signed URLs using ECDSA P-256 with the default SHA-1 hash. - SHA-1 remains available for legacy verification only. This release does not add a corresponding signing algorithm.
- Adds
- Tighten AEAD, cipher IV, HKDF, ECDH, and RSA API contracts by @justsmth in #1215
- In-place AEAD sealing now verifies that
Extendproduced exactly enough space for the plaintext and authentication tag before passing the buffer to AWS-LC. Non-conforming custom buffers now returnErr(Unspecified). - Streaming cipher constructors now reject missing or mismatched IV contexts, matching the validation already performed by the one-shot APIs.
Salt::from(Okm)now uses the output algorithm selected by theOkm, rather than the algorithm from the source PRK.- ECDH shared-secret storage is now zeroized on fallible derive paths.
- RSA
verify_digest_signow requires the supplied digest to match the digest configured byRsaParameters, for both parsed and unparsed public keys. - Valid inputs are unaffected. Calls using inconsistent algorithms, IV contexts, or custom AEAD buffers now fail closed with
Err(Unspecified).
- In-place AEAD sealing now verifies that
Upstream AWS-LC
aws-lc-sysv0.45.0 aligns with AWS-LC v5.7.0 (previously v5.5.0). See also the release notes for v5.6.0.- v5.7.0 corrects
EVP_DecryptUpdatefor padded block ciphers so it modifies only the output range reported throughout_len. aws-lc-rs now includes canary-based regression coverage around the documented minimum output-buffer sizes.
- v5.7.0 corrects
aws-lc-fips-sysv0.14.2 moves to AWS-LC FIPS v4.2.0.- Includes the equivalent
EVP_DecryptUpdatecorrection for FIPS builds. - Restores FIPS builds with Clang 20 and newer.
- Removes the FIPS compiler wrapper's dependency on
/usr/bin/env, fixing builds in Nix and similar sandboxed environments.
- Includes the equivalent
Build Improvements
- Export
cargo:rootmetadata when linking against a system-installed AWS-LC by @weihanglo in #1208- The system-library path now exposes the installation prefix through
DEP_AWS_LC_*_ROOT, consistently with the CC and CMake builders, so downstream build scripts can rely on the metadata regardless of how AWS-LC was built.
- The system-library path now exposes the installation prefix through
- Fix
-Wa,--debug-prefix-maphandling with Clang and LTO by @justsmth in #1212- Fixes Clang builds when
CFLAGScontains-fltoor-flto=thin. The assembler-specific flag is now used only with GCC; Clang's integrated assembler uses-ffile-prefix-mapdirectly.
- Fixes Clang builds when
- Filter raw target-triple
CFLAGSspellings when compiling jitterentropy by @justsmth in #1207- Prevents inherited optimization flags from overriding jitterentropy's required
-O0, including when environment variables are set by a parent process using raw or legacy-normalized target triples.
- Prevents inherited optimization flags from overriding jitterentropy's required
Issues Being Closed
aws-lc-fips-sysv0.14.0 fails to build with Clang newer than 19 -- #1202- FIPS compiler wrapper fails in Nix build environments -- #1204
- Raw target-triple
CFLAGSshould be filtered for jitterentropy -- #1205 - aws-lc-sys fails to build with Clang when
CFLAGSincludes-flto-- #1211
Other Merged PRs
- Prepare aws-lc-fips-sys v0.14.1 by @justsmth in #1203
- fix(publish): verify packaged crate with cargo build instead of cargo test by @justsmth in #1201
- fix: address clippy::assert_is_empty lints in ECB cipher modes by @justsmth in #1210
- ci: replace removed llvm-devel-lite package in FreeBSD jobs by @justsmth in #1213
- Prepare aws-lc-sys v0.45.0 by @justsmth in #1220
- Prepare aws-lc-fips-sys v0.14.2 by @justsmth in #1221
- Prepare v1.18.1 by @justsmth in #1224
New Contributors
- @weihanglo made their first contribution in #1208
- @assafvayner made their first contribution in #1214
Full Changelog: v1.18.0...v1.18.1
New Contributors
- @weihanglo made their first contribution in #1208
- @assafvayner made their first contribution in #1214
Full Changelog: v1.18.0...v1.18.1