]> git.proxmox.com Git - mirror_edk2.git/blob - CryptoPkg/Library/OpensslLib/OpenSSL-HOWTO.txt
CryptoPkg/OpensslLib: Fix the documentation about submodule update
[mirror_edk2.git] / CryptoPkg / Library / OpensslLib / OpenSSL-HOWTO.txt
1
2 =============================================================================
3 Introduction
4 =============================================================================
5 OpenSSL is a well-known open source implementation of SSL/TLS protocols.
6 The core library implements the cryptographic and SSL/TLS functions and
7 also provides various utility functions. The OpenSSL library is widely used
8 in variety of security products development as base crypto provider.
9 (See http://www.openssl.org/ for more information about OpenSSL).
10 UEFI (Unified Extensible Firmware Interface) is a specification detailing
11 the interfaces between OS and platform firmware. Several security features
12 were introduced (e.g. Authenticated Variable Service, Driver Signing, etc)
13 from UEFI 2.2 (http://www.uefi.org/). These security features highly depend
14 on the cryptography.
15 This HOWTO documents OpenSSL building under UEFI/EDKII environment.
16
17 =============================================================================
18 OpenSSL-Version
19 =============================================================================
20 EDKII supports building with the latest release of OpenSSL.
21 The latest official release is OpenSSL-1.1.0g (Released at 2017-Nov-02).
22 NOTE: Only latest release version was fully validated.
23 And no guarantees on build & functionality if using other versions.
24
25 =============================================================================
26 HOW to Install OpenSSL for UEFI Building
27 =============================================================================
28 OpenSSL repository was added as one submodule of EDKII project.
29
30 The user can use the following commands to clone both main EDKII repo and
31 openssl submodule:
32 1) Add the "--recursive" flag to the git clone command:
33 $ git clone --recursive https://github.com/tianocore/edk2
34 or
35 2) Manually initialize and update the submodules after the clone operation
36 on main project:
37 $ git clone https://github.com/tianocore/edk2
38 $ git submodule update --init --recursive
39
40 And use the following combined commands to pull the remote submodule updates
41 (e.g. Updating the new supported OpenSSL release tag):
42 $ git pull --recurse-submodules && \
43 git submodule update --recursive
44
45 =============================================================================
46 About process_files.pl
47 =============================================================================
48 "process_files.pl" is one Perl script which runs the OpenSSL Configure,
49 then processes the resulting file list into our local OpensslLib.inf and
50 OpensslLibCrypto.inf.
51 This only needs to be done once by the maintainer / developer when
52 updating to a new version of OpenSSL (or changing options, etc.).
53 Normal users do not need do this, since the results are already stored in
54 the EDKII git repository for them.