Skip to content

Commit ded3885

Browse files
Li-Aaronjyao1
authored andcommitted
Add support for X509_IGNORE_CRITICAL
Fix #328 Signed-off-by: Aaron Li <[email protected]>
1 parent 4a93afe commit ded3885

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

teeio-validator/CMakeLists.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ SET(CMAKE_BUILD_TYPE ${TARGET} CACHE STRING "Choose the target of build: Debug R
1515
SET(CRYPTO ${CRYPTO} CACHE STRING "Choose the crypto of build: mbedtls openssl" FORCE)
1616
SET(GCOV ${GCOV} CACHE STRING "Choose the target of Gcov: ON OFF, and default is OFF" FORCE)
1717
SET(STACK_USAGE ${STACK_USAGE} CACHE STRING "Choose the target of STACK_USAGE: ON OFF, and default is OFF" FORCE)
18+
set(X509_IGNORE_CRITICAL ${X509_IGNORE_CRITICAL} CACHE STRING "Choose if libspdm-provided cryptography libraries (OpenSSL and MbedTLS) ignore unsupported critical extensions in certificates : ON OFF, and default is OFF" FORCE)
1819

1920
if(NOT GCOV)
2021
SET(GCOV "OFF")
@@ -24,6 +25,10 @@ if(NOT STACK_USAGE)
2425
SET(STACK_USAGE "OFF")
2526
endif()
2627

28+
if(NOT X509_IGNORE_CRITICAL)
29+
set(X509_IGNORE_CRITICAL "OFF")
30+
endif()
31+
2732
SET(LIBSPDM_DIR ${PROJECT_SOURCE_DIR}/../spdm-emu/libspdm)
2833
SET(SPDM_EMU_DIR ${PROJECT_SOURCE_DIR}/../spdm-emu)
2934
SET(TEEIO_VALIDATOR_DIR ${PROJECT_SOURCE_DIR}/teeio_validator)
@@ -84,6 +89,14 @@ else()
8489
MESSAGE(FATAL_ERROR "Unkown CRYPTO")
8590
endif()
8691

92+
if (X509_IGNORE_CRITICAL STREQUAL "ON")
93+
if (CRYPTO STREQUAL "openssl")
94+
add_definitions(-DOPENSSL_IGNORE_CRITICAL=1)
95+
elseif(CRYPTO STREQUAL "mbedtls")
96+
add_definitions(-DLIBSPDM_MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION)
97+
endif()
98+
endif()
99+
87100
if(ENABLE_BINARY_BUILD STREQUAL "1")
88101
if(NOT CRYPTO STREQUAL "openssl")
89102
MESSAGE(FATAL_ERROR "enabling binary build not supported for non-openssl")

0 commit comments

Comments
 (0)