Files
GmSSL/cmake/tls13_commands.cmake
2024-06-02 13:06:06 +08:00

46 lines
1.1 KiB
CMake

if(NOT EXISTS rootcacert.pem)
message(FATAL_ERROR "file does not exist")
endif()
if(NOT EXISTS tls_server_certs.pem)
message(FATAL_ERROR "file does not exist")
endif()
if(NOT EXISTS signkey.pem)
message(FATAL_ERROR "file does not exist")
endif()
if(NOT EXISTS enckey.pem)
message(FATAL_ERROR "file does not exist")
endif()
execute_process(
COMMAND bash -c "sudo nohup bin/gmssl tls13_server -port 4443 -cert tls_server_certs.pem -key signkey.pem -pass P@ssw0rd > tls13_server.log 2>&1 &"
RESULT_VARIABLE SERVER_RESULT
TIMEOUT 5
)
if(NOT ${SERVER_RESULT} EQUAL 0)
message(FATAL_ERROR "server failed to start")
endif()
execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 2)
execute_process(
COMMAND bash -c "bin/gmssl tls13_client -host localhost -port 4443 -cacert rootcacert.pem > tls13_client.log 2>&1"
RESULT_VARIABLE CLIENT_RESULT
TIMEOUT 5
)
file(READ "tls13_client.log" CLIENT_LOG_CONTENT)
string(FIND "${CLIENT_LOG_CONTENT}" "Connection established" FOUND_INDEX)
if(${FOUND_INDEX} EQUAL -1)
message(FATAL_ERROR "Client did not establish connection with server.")
endif()
execute_process(
COMMAND sudo pkill -f "gmssl"
)