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