2.8 KiB
Vendored Crypto Library Sources
Each cryptographic library is included as a git submodule so every build uses an exact, auditable commit. Only the maintainer should bump a submodule version and only after reviewing the upstream changelog and CVE advisories.
How to initialise after cloning
.. code-block:: shell
git submodule update --init --recursive
How to upgrade a submodule to a new release
-
Check the upstream release notes and any associated CVEs.
-
Run::
cd vendors/<library> git fetch --tags git checkout <new-tag> cd ../.. git add vendors/<library> git commit -m "chore(vendors): bump <library> to <new-tag>" -
Update the pin record in this file (below) and re-run the full test suite::
cargo test --workspace -
Update
docs/ccc_rust_plan_phases.rstto record the new version.
Pinned Submodules
+---------+-------------------------------------------+---------------+------------------------------------------+ | Library | Upstream repository | Pinned tag | Rust interface crate | +=========+===========================================+===============+==========================================+ | wolfssl | https://github.com/wolfSSL/wolfssl | v5.7.2-stable | wolfssl (crates.io) | +---------+-------------------------------------------+---------------+------------------------------------------+
Future submodules (Phase 8)
+-----------+----------------------------------------------+--------------+-----------------------------+ | Library | Upstream repository | Target tag | Rust interface crate | +===========+==============================================+==============+=============================+ | libsodium | https://github.com/jedisct1/libsodium | 1.0.20 | sodiumoxide / safe_libsodium| +-----------+----------------------------------------------+--------------+-----------------------------+ | liboqs | https://github.com/open-quantum-safe/liboqs | 0.10.x | oqs (crates.io) | +-----------+----------------------------------------------+--------------+-----------------------------+ | boringssl | https://boringssl.googlesource.com/boringssl | TBD | boring (crates.io) | +-----------+----------------------------------------------+--------------+-----------------------------+ | openssl | https://github.com/openssl/openssl | 3.x | openssl (crates.io) | +-----------+----------------------------------------------+--------------+-----------------------------+