Refactored tests for security core: introduced generic wrappers for security plugins and

updated plugin loading tests to use these instead of specific wrappers per test. Added
test for securing communication ad handshake fail (using different identity CAs)

Signed-off-by: Dennis Potman <dennis.potman@adlinktech.com>
This commit is contained in:
Dennis Potman 2020-02-24 14:08:56 +01:00 committed by eboasson
parent 323de40cba
commit 1cf472ea06
62 changed files with 5335 additions and 7813 deletions

View file

@ -26,16 +26,12 @@ generate_export_header(
EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/include/dds/security/export.h"
)
add_definitions(-DDDSI_INCLUDE_SSL)
target_link_libraries(dds_security_ac PUBLIC ddsc)
target_link_libraries(dds_security_ac PUBLIC OpenSSL::SSL)
target_sources(dds_security_ac
PRIVATE
${srcs_accesscontrol}
)
if(CMAKE_GENERATOR MATCHES "Visual Studio")
set_target_properties(dds_security_ac PROPERTIES LINK_FLAGS "/ignore:4099")
endif()
target_sources(dds_security_ac PRIVATE ${srcs_accesscontrol})
target_include_directories(dds_security_ac
PUBLIC
"$<BUILD_INTERFACE:$<TARGET_PROPERTY:security_api,INTERFACE_INCLUDE_DIRECTORIES>>"

View file

@ -15,7 +15,7 @@ PREPEND(srcs_authentication "${CMAKE_CURRENT_LIST_DIR}/src"
authentication.c
auth_utils.c
)
PREPEND(hdrs_private_authentication "${CMAKE_CURRENT_LIST_DIR}/src"
auth_defs.h
authentication.h
@ -31,21 +31,12 @@ generate_export_header(
EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/include/dds/security/export.h"
)
find_package(OpenSSL )
add_definitions(-DDDSI_INCLUDE_SSL)
target_link_libraries(dds_security_auth PUBLIC ddsc)
target_link_libraries(dds_security_auth PUBLIC OpenSSL::SSL)
target_sources(dds_security_auth
PRIVATE
${srcs_authentication}
)
if(CMAKE_GENERATOR MATCHES "Visual Studio")
set_target_properties(dds_security_auth PROPERTIES LINK_FLAGS "/ignore:4099")
endif()
target_sources(dds_security_auth PRIVATE ${srcs_authentication})
target_include_directories(dds_security_auth
PUBLIC
"$<BUILD_INTERFACE:$<TARGET_PROPERTY:security_api,INTERFACE_INCLUDE_DIRECTORIES>>"
@ -55,7 +46,7 @@ target_include_directories(dds_security_auth
)
install(
TARGETS
TARGETS
EXPORT "${PROJECT_NAME}"
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT lib
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib

View file

@ -23,7 +23,7 @@
#include "dds/ddsrt/heap.h"
#include "dds/security/dds_security_api.h"
#include "dds/security/core/dds_security_timed_cb.h"
#include "dds/security/core/dds_security_utils.h"
#if OPENSLL_VERSION_NUMBER >= 0x10002000L
#define AUTH_INCLUDE_EC

View file

@ -29,15 +29,12 @@ generate_export_header(
EXPORT_FILE_NAME "${CMAKE_CURRENT_BINARY_DIR}/include/dds/security/export.h"
)
add_definitions(-DDDSI_INCLUDE_SSL)
target_link_libraries(dds_security_crypto PUBLIC ddsc)
target_link_libraries(dds_security_crypto PUBLIC OpenSSL::SSL)
target_sources(dds_security_crypto
PRIVATE
${srcs_cryptographic}
)
if(CMAKE_GENERATOR MATCHES "Visual Studio")
set_target_properties(dds_security_crypto PROPERTIES LINK_FLAGS "/ignore:4099")
endif()
target_sources(dds_security_crypto PRIVATE ${srcs_cryptographic})
target_include_directories(dds_security_crypto
PUBLIC

View file

@ -60,6 +60,7 @@ set(security_crypto_test_sources
)
add_cunit_executable(cunit_security_plugins ${security_auth_test_sources} ${security_ac_test_sources} ${security_crypto_test_sources})
target_include_directories(
cunit_security_plugins PRIVATE
"$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src/include/>"
@ -69,15 +70,10 @@ target_include_directories(
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>"
)
target_link_libraries(cunit_security_plugins PRIVATE ddsc security_api)
if(OPENSSL_FOUND)
target_link_libraries(cunit_security_plugins PRIVATE ddsc dds_security_ac)
target_link_libraries(cunit_security_plugins PRIVATE ddsc dds_security_crypto)
target_link_libraries(cunit_security_plugins PRIVATE OpenSSL::SSL)
else()
message(FATAL_ERROR "To build with openssl support, set ENABLE_OPENSSL to ON")
target_link_libraries(cunit_security_plugins PRIVATE ddsc security_api dds_security_ac dds_security_crypto)
target_link_libraries(cunit_security_plugins PRIVATE OpenSSL::SSL)
if(CMAKE_GENERATOR MATCHES "Visual Studio")
set_target_properties(cunit_security_plugins PROPERTIES LINK_FLAGS "/ignore:4099")
endif()
target_include_directories(
@ -91,11 +87,6 @@ target_include_directories(
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>"
)
set(CUnit_builtin_plugins_tests_dir "${CMAKE_CURRENT_LIST_DIR}")
set(CUnit_build_dir "${CMAKE_CURRENT_BINARY_DIR}")
configure_file("config_env.h.in" "config_env.h")