Skip to content

Commit 20b4a5e

Browse files
author
Chris Kaminski
committed
* Added ssl_server example to CMakefiles
* Updated ssl_server DH key to reflect current (2016) browser security requirements
1 parent 210bf79 commit 20b4a5e

File tree

4 files changed

+33
-15
lines changed

4 files changed

+33
-15
lines changed

libs/network/example/CMakeLists.txt

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,18 @@ add_executable(hello_world_server http/hello_world_server.cpp)
1717
add_executable(hello_world_client http/hello_world_client.cpp)
1818
add_executable(hello_world_async_server_with_work_queue http/hello_world_async_server_with_work_queue.cpp)
1919
add_executable(trivial_google trivial_google.cpp)
20+
if (OPENSSL_FOUND)
21+
add_executable(ssl_server http/ssl/ssl_server.cpp)
22+
endif (OPENSSL_FOUND)
23+
2024
if (UNIX)
2125
add_executable(fileserver http/fileserver.cpp)
2226
endif (UNIX)
2327
add_dependencies(http_client cppnetlib-uri cppnetlib-client-connections)
2428
add_dependencies(simple_wget cppnetlib-uri cppnetlib-client-connections)
2529
add_dependencies(atom_reader cppnetlib-uri cppnetlib-client-connections)
2630
add_dependencies(rss_reader cppnetlib-uri cppnetlib-client-connections)
31+
add_dependencies(ssl_server cppnetlib-uri cppnetlib-client-connections)
2732
add_dependencies(trivial_google cppnetlib-uri cppnetlib-client-connections)
2833

2934
target_link_libraries(http_client
@@ -66,6 +71,15 @@ target_link_libraries(hello_world_async_server_with_work_queue
6671
cppnetlib-client-connections
6772
cppnetlib-server-parsers)
6873

74+
if (OPENSSL_FOUND)
75+
target_link_libraries(ssl_server
76+
${CMAKE_THREAD_LIBS_INIT}
77+
cppnetlib-server-parsers
78+
cppnetlib-uri
79+
cppnetlib-client-connections)
80+
endif (OPENSSL_FOUND)
81+
82+
6983
if (OPENSSL_FOUND)
7084
target_link_libraries(http_client ${OPENSSL_LIBRARIES})
7185
target_link_libraries(simple_wget ${OPENSSL_LIBRARIES})
@@ -74,6 +88,7 @@ if (OPENSSL_FOUND)
7488
target_link_libraries(hello_world_server ${OPENSSL_LIBRARIES})
7589
target_link_libraries(hello_world_client ${OPENSSL_LIBRARIES})
7690
target_link_libraries(hello_world_async_server_with_work_queue ${OPENSSL_LIBRARIES})
91+
target_link_libraries(ssl_server ${OPENSSL_LIBRARIES})
7792
target_link_libraries(trivial_google ${OPENSSL_LIBRARIES})
7893
endif (OPENSSL_FOUND)
7994

@@ -85,6 +100,7 @@ if (${CMAKE_CXX_COMPILER_ID} MATCHES GNU AND ${CMAKE_SYSTEM_NAME} MATCHES "Windo
85100
target_link_libraries(hello_world_server ws2_32 wsock32)
86101
target_link_libraries(hello_world_client ws2_32)
87102
target_link_libraries(hello_world_async_server_with_work_queue ws2_32 wsock32)
103+
target_link_libraries(ssl_server ws2_32 wsock32)
88104
target_link_libraries(trivial_google ws2_32)
89105
endif()
90106

@@ -97,6 +113,9 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
97113
target_link_libraries(hello_world_client rt)
98114
target_link_libraries(hello_world_async_server_with_work_queue rt)
99115
target_link_libraries(trivial_google rt)
116+
if (OPENSSL_FOUND)
117+
target_link_libraries(ssl_server rt)
118+
endif (OPENSSL_FOUND)
100119
endif()
101120

102121
if (UNIX)
@@ -119,7 +138,10 @@ set_target_properties(trivial_google PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-N
119138
set_target_properties(hello_world_server PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/example)
120139
set_target_properties(hello_world_client PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/example)
121140
set_target_properties(hello_world_async_server_with_work_queue PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/example)
122-
141+
if (OPENSSL_FOUND)
142+
set_target_properties(ssl_server PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/example)
143+
endif (OPENSSL_FOUND)
144+
123145
if (UNIX)
124146
set_target_properties(fileserver PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CPP-NETLIB_BINARY_DIR}/example)
125147
endif (UNIX)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
-----BEGIN DH PARAMETERS-----
2+
MIIBCAKCAQEA1wI+wQdLMRtQK+0EIXNg+g+J/EhIZedqdkSKKLIdclDAjUdbnDWJ
3+
rMR76tKGItPb0LkWHfxJkrziyvZRO2KWTThQ1Tz05x+OgM2ckHT+QsTxNqOosvdT
4+
pOtMt260WaXVYvHJ0CZgTo7+DUcXNYZW/xvSW206RW9oJIgqCFrhUrKGpVFuqLZZ
5+
Nwjy62Ueg3TUwE5D5K0xgUjyCAuHZmeI2uQUbJS6u9GeraV5h0QtH3njDS6mD64v
6+
cN5MqQXO1UTl4sQUhDPamyiJz57/o/jinHJUDLz1FGS8kOR8ecYAx8JryFgm4qPd
7+
+MYaDDIJku8f19Rnjb1SI/Y28uHL9X2dswIBAg==
8+
-----END DH PARAMETERS-----

libs/network/example/http/ssl/dh512.pem

Lines changed: 0 additions & 12 deletions
This file was deleted.

libs/network/example/http/ssl/ssl_server.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include <signal.h>
2020

2121
struct handler;
22-
typedef boost::network::http::async_server<handler> server;
22+
typedef boost::network::http::server<handler> server;
2323

2424
std::string password_callback(
2525
std::size_t max_length,
@@ -78,7 +78,7 @@ int main(void) try {
7878
ctx->set_password_callback(password_callback);
7979
ctx->use_certificate_chain_file("server.pem");
8080
ctx->use_private_key_file("server.pem", asio::ssl::context::pem);
81-
ctx->use_tmp_dh_file("dh512.pem");
81+
ctx->use_tmp_dh_file("dh2048.pem");
8282

8383
// setup the async server
8484
handler request_handler;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy