Files
MicrOBU/microbu-esp32c5/external/vanetza-idf/vanetza/security/CMakeLists.txt
T
Ashin Walpola 0e9525162d Keep the colleague's microbu-esp32c5 tree in this repository
obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but
that tree was gitignored, so a clone of this repository could not build the
firmware it ships. It is now committed here as ordinary files in its own
folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP
bridge's signature verification (--trust) used on the bench. Nothing is
fetched from or pushed to the colleague's repository; this repository and
its remotes carry everything. The folder's own .gitignore keeps build output,
downloaded components and private key material out, as it did there; the
committed file set is identical to that repository's tracked files.

The ESP32-C5 is still flashed from obu-firmware/, which only takes
vanetza-idf from microbu-esp32c5/, so the two stay separate folders.
FLASHING.md says how to take a newer version of the colleague's tree (copy
it over the folder, rebuild, test, commit).
2026-09-23 17:46:40 +02:00

110 lines
3.1 KiB
CMake

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()