find_package(OpenSSL 3) set(TLS_TEST_FILES alt_openssl-pki.conf iso_pkey.asn1 openssl-pki.conf ocsp_response.der pki.sh pki-tpm.sh ) add_custom_command( OUTPUT ${TLS_TEST_FILES} COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/pki COMMAND cd pki && cp ${TLS_TEST_FILES} ${CMAKE_CURRENT_BINARY_DIR}/ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) add_custom_target(tls_test_files_target DEPENDS ${TLS_TEST_FILES} ) set(TLS_GTEST_NAME tls_test) add_executable(${TLS_GTEST_NAME}) add_dependencies(${TLS_GTEST_NAME} tls_test_files_target) target_include_directories(${TLS_GTEST_NAME} PRIVATE .. ../include ) target_compile_definitions(${TLS_GTEST_NAME} PRIVATE -DUNIT_TEST -DLIBEVSE_CRYPTO_SUPPLIER_OPENSSL ) target_sources(${TLS_GTEST_NAME} PRIVATE gtest_main.cpp crypto_test.cpp openssl_util_test.cpp tls_test.cpp tls_connection_test.cpp ../extensions/helpers.cpp ../extensions/status_request.cpp ../extensions/trusted_ca_keys.cpp ../src/openssl_conv.cpp ../src/openssl_util.cpp ../src/tls.cpp ) if(USING_TPM2) target_sources(${TLS_GTEST_NAME} PRIVATE tls_connection_test_tpm.cpp ) target_compile_definitions(${TLS_GTEST_NAME} PRIVATE USING_TPM2 ) endif() target_link_libraries(${TLS_GTEST_NAME} PRIVATE GTest::gtest OpenSSL::SSL OpenSSL::Crypto everest::evse_security everest::util ) set(TLS_MAIN_NAME tls_server) add_executable(${TLS_MAIN_NAME}) add_dependencies(${TLS_MAIN_NAME} tls_test_files_target) target_include_directories(${TLS_MAIN_NAME} PRIVATE .. ../include ) target_compile_definitions(${TLS_MAIN_NAME} PRIVATE -DUNIT_TEST ) target_sources(${TLS_MAIN_NAME} PRIVATE tls_main.cpp ../extensions/helpers.cpp ../extensions/status_request.cpp ../extensions/trusted_ca_keys.cpp ../src/openssl_util.cpp ../src/tls.cpp ) target_link_libraries(${TLS_MAIN_NAME} PRIVATE OpenSSL::SSL OpenSSL::Crypto everest::evse_security everest::util ) set(TLS_CLIENT_NAME tls_client) add_executable(${TLS_CLIENT_NAME}) add_dependencies(${TLS_CLIENT_NAME} tls_test_files_target) target_include_directories(${TLS_CLIENT_NAME} PRIVATE .. ../include ) target_compile_definitions(${TLS_CLIENT_NAME} PRIVATE -DUNIT_TEST ) target_sources(${TLS_CLIENT_NAME} PRIVATE tls_client_main.cpp ../extensions/helpers.cpp ../extensions/status_request.cpp ../extensions/trusted_ca_keys.cpp ../src/openssl_util.cpp ../src/tls.cpp ) target_link_libraries(${TLS_CLIENT_NAME} PRIVATE OpenSSL::SSL OpenSSL::Crypto everest::evse_security everest::util ) set(TLS_PATCH_NAME patched_test) add_executable(${TLS_PATCH_NAME}) add_dependencies(${TLS_PATCH_NAME} tls_test_files_target) target_include_directories(${TLS_PATCH_NAME} PRIVATE .. ../include ) target_compile_definitions(${TLS_PATCH_NAME} PRIVATE -DUNIT_TEST ) target_sources(${TLS_PATCH_NAME} PRIVATE patched_test.cpp ../extensions/helpers.cpp ../extensions/status_request.cpp ../extensions/trusted_ca_keys.cpp ../src/openssl_util.cpp ../src/tls.cpp ) target_link_libraries(${TLS_PATCH_NAME} PRIVATE GTest::gtest_main OpenSSL::SSL OpenSSL::Crypto everest::evse_security everest::util ) add_test(${TLS_GTEST_NAME} ${TLS_GTEST_NAME}) ev_register_test_target(${TLS_GTEST_NAME})