This repository hosts the cryptographic library packages for Project Mu. It decomposes the monolithic CryptoPkg into independent, backend-specific packages so that each crypto implementation can be built, tested, and maintained separately.
| Package | Description |
|---|---|
| OpensslPkg | BaseCryptLib, OpensslLib, TlsLib, and supporting headers backed by OpenSSL. |
| MbedTlsPkg | BaseCryptLib, MbedTlsLib, and supporting headers backed by Mbed TLS. |
# One-time setup
git submodule update --init --recursive
pip install -r pip-requirements.txt
# Packages: (OpensslPkg or MbedTlsPkg)
stuart_setup -c .pytool/CISettings.py -p <Pkg>
stuart_ci_setup -c .pytool/CISettings.py -p <Pkg> # Only required for CI
stuart_update -c .pytool/CISettings.py -p <Pkg># CI Targets: (DEBUG, RELEASE, NO-TARGET)
stuart_ci_build -c .pytool/CISettings.py -p <Pkg> -t DEBUG TOOL_CHAIN_TAG=CLANGPDB
stuart_ci_build -c .pytool/CISettings.py -p <Pkg> -t RELEASE TOOL_CHAIN_TAG=CLANGPDB# Run host-based unit tests locally with GCC5
# Packages: (OpensslPkg, MbedTlsPkg)
stuart_ci_build -c .pytool/CISettings.py -p <Pkg> -t NOOPT -d HostUnitTestCompilerPlugin=run TOOL_CHAIN_TAG=GCC5Note: MbedTlsPkg host-based tests are currently disabled due to known test failures. See the TODO in
host-based-test-runner.ymlfor details.
Contributions are welcome. Please see CONTRIBUTING.md for guidelines.
This project is licensed under the BSD-2-Clause-Patent license. See the License.txt file for details.