summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.pytool/CISettings.py2
-rw-r--r--CryptoPkg/CryptoPkg.ci.yaml12
-rw-r--r--CryptoPkg/CryptoPkg.dec3
-rw-r--r--CryptoPkg/CryptoPkg.dsc8
-rw-r--r--CryptoPkg/Private/Library/MbedTlsLib.h12
5 files changed, 35 insertions, 2 deletions
diff --git a/.pytool/CISettings.py b/.pytool/CISettings.py
index 6fb7342f81..c5803a877c 100644
--- a/.pytool/CISettings.py
+++ b/.pytool/CISettings.py
@@ -199,6 +199,8 @@ class Settings(CiBuildSettingsManager, UpdateSettingsManager, SetupSettingsManag
"MdePkg/Library/BaseFdtLib/libfdt", False))
rs.append(RequiredSubmodule(
"MdePkg/Library/MipiSysTLib/mipisyst", False))
+ rs.append(RequiredSubmodule(
+ "CryptoPkg/Library/MbedTlsLib/mbedtls", False))
return rs
def GetName(self):
diff --git a/CryptoPkg/CryptoPkg.ci.yaml b/CryptoPkg/CryptoPkg.ci.yaml
index 59ba56d41e..967612230d 100644
--- a/CryptoPkg/CryptoPkg.ci.yaml
+++ b/CryptoPkg/CryptoPkg.ci.yaml
@@ -38,10 +38,20 @@
# This has OpenSSL interfaces that aren't UEFI spec compliant
"Library/BaseCryptLib/Hash/CryptParallelHash.h",
"Library/Include/fcntl.h",
+ # This has Mbedtls interfaces that aren't UEFI spec compliant
+ "Library/Include/stdint.h",
+ "Library/Include/stubs-32.h",
# These directories contain auto-generated OpenSSL content
"Library/OpensslLib",
"Library/IntrinsicLib",
- "Library/BaseCryptLib/Pk/CryptPkcs7VerifyBase.c"
+ "Library/BaseCryptLib/Pk/CryptPkcs7VerifyBase.c",
+ # mbedtls
+ "Library/MbedTlsLib/mbedtls",
+ # This has mbedtls interfaces that aren't UEFI spec compliant
+ "Library/MbedTlsLib/EcSm2Null.c",
+ "Library/MbedTlsLib/CrtWrapper.c",
+ "Library/MbedTlsLib/Include/mbedtls/mbedtls_config.h",
+ "Library/BaseCryptLibMbedTls/SysCall"
]
},
"CompilerPlugin": {
diff --git a/CryptoPkg/CryptoPkg.dec b/CryptoPkg/CryptoPkg.dec
index a5fa81a338..e613b6b1ae 100644
--- a/CryptoPkg/CryptoPkg.dec
+++ b/CryptoPkg/CryptoPkg.dec
@@ -28,9 +28,9 @@
Library/OpensslLib/OpensslGen/include
Library/OpensslLib/OpensslGen/providers/common/include
Library/MbedTlsLib/Include
- Library/MbedTlsLib/mbedtls
Library/MbedTlsLib/mbedtls/include
Library/MbedTlsLib/mbedtls/include/mbedtls
+ Library/MbedTlsLib/mbedtls/library
[LibraryClasses]
## @libraryclass Provides basic library functions for cryptographic primitives.
@@ -49,6 +49,7 @@
## @libraryclass Provides library functions from the openssl project.
#
OpensslLib|Private/Library/OpensslLib.h
+ MbedTlsLib|Private/Library/MbedTlsLib.h
## @libraryclass Provides compiler intrinsic functions required to link openssl project.
#
diff --git a/CryptoPkg/CryptoPkg.dsc b/CryptoPkg/CryptoPkg.dsc
index a55dcb9668..6a0104a3bb 100644
--- a/CryptoPkg/CryptoPkg.dsc
+++ b/CryptoPkg/CryptoPkg.dsc
@@ -364,6 +364,14 @@
CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
+ CryptoPkg/Library/BaseCryptLibMbedTls/BaseCryptLib.inf
+ CryptoPkg/Library/BaseCryptLibMbedTls/SecCryptLib.inf
+ CryptoPkg/Library/BaseCryptLibMbedTls/PeiCryptLib.inf
+ CryptoPkg/Library/BaseCryptLibMbedTls/SmmCryptLib.inf
+ CryptoPkg/Library/BaseCryptLibMbedTls/RuntimeCryptLib.inf
+ CryptoPkg/Library/BaseCryptLibMbedTls/TestBaseCryptLib.inf
+ CryptoPkg/Library/MbedTlsLib/MbedTlsLib.inf
+ CryptoPkg/Library/MbedTlsLib/MbedTlsLibFull.inf
CryptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf
CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
CryptoPkg/Library/TlsLib/TlsLib.inf
diff --git a/CryptoPkg/Private/Library/MbedTlsLib.h b/CryptoPkg/Private/Library/MbedTlsLib.h
new file mode 100644
index 0000000000..30517a76d3
--- /dev/null
+++ b/CryptoPkg/Private/Library/MbedTlsLib.h
@@ -0,0 +1,12 @@
+/** @file
+ MbedTlsLib class with APIs from the mbedtls project
+
+ Copyright (c) 2023, Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef MBEDTLS_LIB_H_
+#define MBEDTLS_LIB_H_
+
+#endif