diff --git a/CMakeLists.txt b/CMakeLists.txt
index e4b56597ceae1f94339ea240687bdccab937e668..e1eda0c48de0f2541cbc71d2390fb41cd56e1d59 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -67,6 +67,7 @@ set(libfp311online_SRCS
   src/command.cpp
   src/experimentstate.cpp
   src/rootcanvaswidget.cpp
+  src/cacertificates.cpp
   "${CMAKE_CURRENT_BINARY_DIR}/version.libfp311online.cpp"
 )
 
@@ -77,8 +78,16 @@ else()
   include(${PROJECT_SOURCE_DIR}/cmake/build-root-submodule.cmake)
 endif (${USE_HOST_ROOT_INSTALL})
 
+option(ENABLE_DEVEL_CERTIFICATES "Configure the application to use and trust the development certificate for the encryption of the connection between server and client. DO NOT ENABLE IN PRODUCTION!" ON) # Enable by default during development
+if (${ENABLE_DEVEL_CERTIFICATES})
+  set(DEVEL_CERT_RESOURCE_FILE crypto/devel_cert.qrc)
+else()
+  set(DEVEL_CERT_RESOURCE_FILE "")
+endif (${ENABLE_DEVEL_CERTIFICATES})
+
 add_library(fp311online STATIC
  ${libfp311online_SRCS}
+ ${DEVEL_CERT_RESOURCE_FILE}
 )
 
 include(GenerateExportHeader)
@@ -99,6 +108,10 @@ set_property(TARGET fp311online PROPERTY POSITION_INDEPENDENT_CODE ON)
 set_property(TARGET fp311online PROPERTY CXX_VISIBILITY_PRESET hidden)
 set_property(TARGET fp311online PROPERTY VISIBILITY_INLINES_HIDDEN ON)
 
+if (${ENABLE_DEVEL_CERTIFICATES})
+  target_compile_definitions(fp311online PRIVATE LIBFP311ONLINE_LOAD_DEVEL_CERT_RESOURCE)
+endif (${ENABLE_DEVEL_CERTIFICATES})
+
 if ("${ROOT_MAJOR_VERSION}.${ROOT_MINOR_VERSION}" VERSION_GREATER_EQUAL 6.24)
   # The interface of RooDataHist was improved in ROOT 6.24 and the old way of
   # querying the content of a bin was deprecated.