forked from microsoft/mu_basecore
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove the openssl library and it's associated files from CryptoPkg. (m…
…icrosoft#680) Project MU has encouraged the use of a crypto binaries for several years now but has allowed platforms to use the traditional DIY crypto implementations if they want to. This change finally removes Openssl from CryptoPkg along with its associated wrapper libraries and the BaseCryptLib implementation of it. Only the NULL implementation of BaseCryptLib will be available by default in CryptoPkg but it outlines the APIs to use for platforms. All Openssl files have been moved to the MU_CRYPTO_RELEASE repo that you can find [here](https://github.com/microsoft/mu_crypto_release/tree/release/202302) - [x] Impacts functionality? - **Functionality** - Does the change ultimately impact how firmware functions? - Examples: Add a new library, publish a new PPI, update an algorithm, ... - [x] Impacts security? - **Security** - Does the change have a direct security impact on an application, flow, or firmware? - Examples: Crypto algorithm change, buffer overflow fix, parameter validation improvement, ... - [x] Breaking change? - **Breaking change** - Will anyone consuming this change experience a break in build or boot behavior? - Examples: Add a new library class, move a module to a different repo, call a function in a new library class in a pre-existing module, ... - [ ] Includes tests? - **Tests** - Does the change include any explicit test code? - Examples: Unit tests, integration tests, robot tests, ... - [x] Includes documentation? - **Documentation** - Does the change contain explicit documentation additions outside direct code modifications (and comments)? - Examples: Update readme file, add feature readme file, link to documentation on an a separate Web page, ... Tested on Intel physical platforms and the Q35 QEMU virtual platform. First you'll need to remove all references to the OpensslLib and IntrinsicLib libraries in your platform dsc file. Additionally, any non-NULL instance of BaseCryptLib needs to removed as well. To use the crypto binary you need to make a few adjustments on your platform: 1. Define the service level that you want for each phase of UEFI in the defines sections of your DSC. ``` [Defines] DEFINE PEI_CRYPTO_SERVICES = TINY_SHA DEFINE DXE_CRYPTO_SERVICES = STANDARD DEFINE SMM_CRYPTO_SERVICES = STANDARD DEFINE STANDALONEMM_CRYPTO_SERVICES = STANDARD DEFINE PEI_CRYPTO_ARCH = IA32 DEFINE DXE_CRYPTO_ARCH = X64 DEFINE SMM_CRYPTO_ARCH = X64 DEFINE STANDALONEMM_CRYPTO_ARCH = X64 ``` 2. Add the DSC include. `!include CryptoPkg/Driver/Bin/CryptoDriver.inc.dsc` 3. Add the FDF includes to your platform FDF. ``` [FV.FVBOOTBLOCK] !include CryptoPkg/Driver/Bin/CryptoDriver.PEI.inc.fdf [FV.FVDXE] !include CryptoPkg/Driver/Bin/CryptoDriver.DXE.inc.fdf !include CryptoPkg/Driver/Bin/CryptoDriver.SMM.inc.fdf !include CryptoPkg/Driver/Bin/CryptoDriver.STANDALONEMM.inc.fdf ``` For the fdf includes you don't need both the `STANDALONEMM` and `SMM` versions. You typically should include only one of them.
- Loading branch information
1 parent
eebda62
commit afd1f31
Showing
185 changed files
with
15 additions
and
68,357 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
Oops, something went wrong.