110 lines
3.1 KiB
CMake
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()
|