add_vanetza_component(security backend.cpp backend_null.cpp cam_ssp.cpp decap_service.cpp delegating_security_entity.cpp ecc_point.cpp ecdsa256.cpp encap_service.cpp hashed_id.cpp hmac.cpp key_type.cpp public_key.cpp persistence.cpp peer_request_tracker.cpp secured_message.cpp sha.cpp signature.cpp straight_verify_service.cpp verify_service.cpp v2/basic_elements.cpp v2/certificate.cpp v2/certificate_cache.cpp v2/default_certificate_validator.cpp v2/ecc_point.cpp v2/encryption_parameter.cpp v2/header_field.cpp v2/int_x.cpp v2/length_coding.cpp v2/naive_certificate_provider.cpp v2/null_certificate_provider.cpp v2/null_certificate_validator.cpp v2/payload.cpp v2/persistence.cpp v2/public_key.cpp v2/recipient_info.cpp v2/region.cpp v2/secured_message.cpp v2/serialization.cpp v2/sign_header_policy.cpp v2/signature.cpp v2/signer_info.cpp v2/sign_service.cpp v2/static_certificate_provider.cpp v2/subject_attribute.cpp v2/subject_info.cpp v2/trailer_field.cpp v2/trust_store.cpp v2/validity_restriction.cpp v2/verification.cpp v3/asn1_conversions.cpp v3/basic_elements.cpp v3/boost_geometry.cpp v3/certificate.cpp v3/certificate_cache.cpp v3/certificate_validator.cpp v3/distance.cpp v3/geometry.cpp v3/hash.cpp v3/issuer_memory_lookup.cpp v3/location_checker.cpp v3/secured_message.cpp v3/sign_service.cpp v3/naive_certificate_provider.cpp v3/sign_header_policy.cpp v3/static_certificate_provider.cpp v3/persistence.cpp v3/revocation_lookup.cpp v3/trust_store.cpp v3/validity_restriction.cpp ) target_link_libraries(security PUBLIC Boost::headers asn1 asn1_security common net) target_link_libraries(security PRIVATE geodesy) if(VANETZA_WITH_PQC) set_property(TARGET security APPEND PROPERTY SOURCES pqc/fndsa512_oqs.cpp pqc/hybrid_certificate.cpp pqc/hybrid_certificate_validator.cpp) target_link_libraries(security PRIVATE OQS::oqs) endif() if(VANETZA_WITH_CRYPTOPP) set_property(TARGET security APPEND PROPERTY SOURCES backend_cryptopp.cpp) target_link_libraries(security PRIVATE CryptoPP::CryptoPP) target_compile_definitions(security PUBLIC "VANETZA_WITH_CRYPTOPP") endif() if(VANETZA_WITH_OPENSSL) set_property(TARGET security APPEND PROPERTY SOURCES backend_openssl.cpp openssl_wrapper.cpp) target_link_libraries(security PRIVATE OpenSSL::Crypto) target_compile_definitions(security PUBLIC "VANETZA_WITH_OPENSSL") target_compile_definitions(security PRIVATE "OPENSSL_API_COMPAT=0x10101000L") endif() if(NOT VANETZA_WITH_CRYPTOPP AND NOT VANETZA_WITH_OPENSSL) message(WARNING "Vanetza is built without proper security backend") endif() # shared test data for all security tests set(SECURITY_TEST_ASSET_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tests/assets") add_test_subdirectory(tests) add_test_subdirectory(v2/tests) add_test_subdirectory(v3/tests) if(VANETZA_WITH_PQC) add_test_subdirectory(pqc/tests) endif()