diff options
author | lv-426 <oxcafebaby@yahoo.com> | 2008-08-09 02:06:38 +0000 |
---|---|---|
committer | lv-426 <oxcafebaby@yahoo.com> | 2008-08-09 02:06:38 +0000 |
commit | cafcdb1b08e18530b9a184a22c7655b3661701bb (patch) | |
tree | 5e4078feb14ae2ae01973ec24b96a39c33aef0c5 /src/testcurl | |
parent | dfd057b9b6e0b022f73c1bdb4b845230f29fae3a (diff) | |
download | libmicrohttpd-cafcdb1b08e18530b9a184a22c7655b3661701bb.tar.gz libmicrohttpd-cafcdb1b08e18530b9a184a22c7655b3661701bb.zip |
temporary IP binding option added to MHD_daemon_start_va
added support for initiating the daemon in anonymous authentication mode
DH parameter initiation when using anonymous authentication
added daemon credential type field
added daemon option testing flexibility
removed db support
Diffstat (limited to 'src/testcurl')
-rw-r--r-- | src/testcurl/https/tls_alert_test.c | 2 | ||||
-rw-r--r-- | src/testcurl/https/tls_authentication_test.c | 15 | ||||
-rw-r--r-- | src/testcurl/https/tls_daemon_options_test.c | 137 | ||||
-rw-r--r-- | src/testcurl/https/tls_session_time_out_test.c | 5 | ||||
-rw-r--r-- | src/testcurl/https/tls_test_keys.h | 181 |
5 files changed, 184 insertions, 156 deletions
diff --git a/src/testcurl/https/tls_alert_test.c b/src/testcurl/https/tls_alert_test.c index 67b489b7..4c8b482d 100644 --- a/src/testcurl/https/tls_alert_test.c +++ b/src/testcurl/https/tls_alert_test.c | |||
@@ -62,7 +62,7 @@ setup (gnutls_session_t * session, | |||
62 | gnutls_datum_t * cert, gnutls_certificate_credentials_t * xcred) | 62 | gnutls_datum_t * cert, gnutls_certificate_credentials_t * xcred) |
63 | { | 63 | { |
64 | int ret; | 64 | int ret; |
65 | const char **err_pos; | 65 | const char ** err_pos; |
66 | 66 | ||
67 | gnutls_certificate_allocate_credentials (xcred); | 67 | gnutls_certificate_allocate_credentials (xcred); |
68 | 68 | ||
diff --git a/src/testcurl/https/tls_authentication_test.c b/src/testcurl/https/tls_authentication_test.c index a12ce93f..58d95cf1 100644 --- a/src/testcurl/https/tls_authentication_test.c +++ b/src/testcurl/https/tls_authentication_test.c | |||
@@ -39,10 +39,12 @@ | |||
39 | 39 | ||
40 | extern int curl_check_version (const char *req_version, ...); | 40 | extern int curl_check_version (const char *req_version, ...); |
41 | 41 | ||
42 | const int DEBUG_GNUTLS_LOG_LEVEL = 6; | ||
42 | const char *ca_cert_file_name = "ca_cert_pem"; | 43 | const char *ca_cert_file_name = "ca_cert_pem"; |
43 | const char *test_file_name = "https_test_file"; | 44 | const char *test_file_name = "https_test_file"; |
44 | const char test_file_data[] = "Hello World\n"; | 45 | const char test_file_data[] = "Hello World\n"; |
45 | 46 | ||
47 | |||
46 | struct CBC | 48 | struct CBC |
47 | { | 49 | { |
48 | char *buf; | 50 | char *buf; |
@@ -173,8 +175,8 @@ test_daemon_get (FILE * test_fd, char *cipher_suite, int proto_version) | |||
173 | #endif | 175 | #endif |
174 | curl_easy_setopt (c, CURLOPT_URL, url); | 176 | curl_easy_setopt (c, CURLOPT_URL, url); |
175 | curl_easy_setopt (c, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); | 177 | curl_easy_setopt (c, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); |
176 | curl_easy_setopt (c, CURLOPT_TIMEOUT, 3L); | 178 | curl_easy_setopt (c, CURLOPT_TIMEOUT, 10L); |
177 | curl_easy_setopt (c, CURLOPT_CONNECTTIMEOUT, 3L); | 179 | curl_easy_setopt (c, CURLOPT_CONNECTTIMEOUT, 10L); |
178 | curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, ©Buffer); | 180 | curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, ©Buffer); |
179 | curl_easy_setopt (c, CURLOPT_FILE, &cbc); | 181 | curl_easy_setopt (c, CURLOPT_FILE, &cbc); |
180 | 182 | ||
@@ -224,14 +226,13 @@ test_secure_get (FILE * test_fd, char *cipher_suite, int proto_version) | |||
224 | { | 226 | { |
225 | int ret; | 227 | int ret; |
226 | struct MHD_Daemon *d; | 228 | struct MHD_Daemon *d; |
227 | int kx[] = { MHD_GNUTLS_KX_DHE_RSA, 0 }; | ||
228 | 229 | ||
229 | d = MHD_start_daemon (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL | | 230 | d = MHD_start_daemon(MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL | |
230 | MHD_USE_DEBUG, 42433, | 231 | MHD_USE_DEBUG, 42433, |
231 | NULL, NULL, &http_ahc, NULL, | 232 | NULL, NULL, &http_ahc, NULL, |
232 | MHD_OPTION_HTTPS_MEM_KEY, srv_signed_key_pem, | 233 | MHD_OPTION_HTTPS_MEM_KEY, srv_signed_key_pem, |
233 | MHD_OPTION_HTTPS_MEM_CERT, srv_signed_cert_pem, | 234 | MHD_OPTION_HTTPS_MEM_CERT, srv_signed_cert_pem, |
234 | MHD_OPTION_KX_PRIORITY, kx, MHD_OPTION_END); | 235 | MHD_OPTION_END); |
235 | 236 | ||
236 | if (d == NULL) | 237 | if (d == NULL) |
237 | { | 238 | { |
@@ -308,7 +309,7 @@ main (int argc, char *const *argv) | |||
308 | FILE *test_fd; | 309 | FILE *test_fd; |
309 | unsigned int errorCount = 0; | 310 | unsigned int errorCount = 0; |
310 | 311 | ||
311 | /* gnutls_global_set_log_level (11); */ | 312 | gnutls_global_set_log_level (DEBUG_GNUTLS_LOG_LEVEL); |
312 | 313 | ||
313 | if (curl_check_version (MHD_REQ_CURL_VERSION)) | 314 | if (curl_check_version (MHD_REQ_CURL_VERSION)) |
314 | { | 315 | { |
@@ -330,7 +331,7 @@ main (int argc, char *const *argv) | |||
330 | } | 331 | } |
331 | 332 | ||
332 | errorCount += | 333 | errorCount += |
333 | test_secure_get (test_fd, "AES256-SHA", CURL_SSLVERSION_SSLv3); | 334 | test_secure_get (test_fd, "AES256-SHA", CURL_SSLVERSION_TLSv1); |
334 | 335 | ||
335 | if (errorCount != 0) | 336 | if (errorCount != 0) |
336 | fprintf (stderr, "Failed test: %s.\n", argv[0]); | 337 | fprintf (stderr, "Failed test: %s.\n", argv[0]); |
diff --git a/src/testcurl/https/tls_daemon_options_test.c b/src/testcurl/https/tls_daemon_options_test.c index 95accebb..59205199 100644 --- a/src/testcurl/https/tls_daemon_options_test.c +++ b/src/testcurl/https/tls_daemon_options_test.c | |||
@@ -32,6 +32,7 @@ | |||
32 | #include "gnutls.h" | 32 | #include "gnutls.h" |
33 | #include <curl/curl.h> | 33 | #include <curl/curl.h> |
34 | 34 | ||
35 | #define DEBUG_CURL_VERBOSE 0 | ||
35 | #define PAGE_NOT_FOUND "<html><head><title>File not found</title></head><body>File not found</body></html>" | 36 | #define PAGE_NOT_FOUND "<html><head><title>File not found</title></head><body>File not found</body></html>" |
36 | 37 | ||
37 | #define MHD_E_MEM "Error: memory error\n" | 38 | #define MHD_E_MEM "Error: memory error\n" |
@@ -42,6 +43,7 @@ | |||
42 | 43 | ||
43 | #include "tls_test_keys.h" | 44 | #include "tls_test_keys.h" |
44 | 45 | ||
46 | const int DEBUG_GNUTLS_LOG_LEVEL = 0; | ||
45 | const char *test_file_name = "https_test_file"; | 47 | const char *test_file_name = "https_test_file"; |
46 | const char test_file_data[] = "Hello World\n"; | 48 | const char test_file_data[] = "Hello World\n"; |
47 | 49 | ||
@@ -123,7 +125,7 @@ http_ahc (void *cls, struct MHD_Connection *connection, | |||
123 | * @param test_fd: file to attempt transfering | 125 | * @param test_fd: file to attempt transfering |
124 | */ | 126 | */ |
125 | static int | 127 | static int |
126 | test_https_transfer (FILE * test_fd, char * cipher_suite, int proto_version) | 128 | test_https_transfer (FILE * test_fd, char *cipher_suite, int proto_version) |
127 | { | 129 | { |
128 | CURL *c; | 130 | CURL *c; |
129 | CURLcode errornum; | 131 | CURLcode errornum; |
@@ -172,7 +174,7 @@ test_https_transfer (FILE * test_fd, char * cipher_suite, int proto_version) | |||
172 | doc_path, test_file_name); | 174 | doc_path, test_file_name); |
173 | 175 | ||
174 | c = curl_easy_init (); | 176 | c = curl_easy_init (); |
175 | #ifdef DEBUG | 177 | #if DEBUG_CURL_VERBOSE |
176 | curl_easy_setopt (c, CURLOPT_VERBOSE, 1); | 178 | curl_easy_setopt (c, CURLOPT_VERBOSE, 1); |
177 | #endif | 179 | #endif |
178 | curl_easy_setopt (c, CURLOPT_URL, url); | 180 | curl_easy_setopt (c, CURLOPT_URL, url); |
@@ -249,14 +251,11 @@ setupTestFile () | |||
249 | } | 251 | } |
250 | 252 | ||
251 | static int | 253 | static int |
252 | setup (struct MHD_Daemon **d, enum MHD_OPTION option, void * value ) | 254 | setup (struct MHD_Daemon **d, va_list arg_list) |
253 | { | 255 | { |
254 | *d = MHD_start_daemon (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL | | 256 | *d = MHD_start_daemon_va (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL | |
255 | MHD_USE_DEBUG, 42433, | 257 | MHD_USE_DEBUG, 42433, "127.0.0.1", |
256 | NULL, NULL, &http_ahc, NULL, | 258 | NULL, NULL, &http_ahc, NULL, arg_list); |
257 | MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem, | ||
258 | MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem, | ||
259 | option, value, MHD_OPTION_END); | ||
260 | 259 | ||
261 | if (*d == NULL) | 260 | if (*d == NULL) |
262 | { | 261 | { |
@@ -273,19 +272,37 @@ teardown (struct MHD_Daemon *d) | |||
273 | MHD_stop_daemon (d); | 272 | MHD_stop_daemon (d); |
274 | } | 273 | } |
275 | 274 | ||
275 | /* TODO test_wrap: change sig to (setup_func, test, va_list test_arg) & move to test_util.c */ | ||
276 | int | 276 | int |
277 | test_wrap (int | 277 | test_wrap (char *test_name, int |
278 | (*test) (FILE * test_fd, char *cipher_suite, int proto_version), | 278 | (*test) (FILE * test_fd, char *cipher_suite, int proto_version), |
279 | FILE * test_fd, char *cipher_suite, int proto_version, | 279 | FILE * test_fd, char *cipher_suite, int proto_version, ...) |
280 | enum MHD_OPTION option, void * value) | ||
281 | { | 280 | { |
282 | int ret; | 281 | int ret; |
282 | va_list arg_list; | ||
283 | struct MHD_Daemon *d; | 283 | struct MHD_Daemon *d; |
284 | 284 | ||
285 | if (setup (&d, option, value) != 0) | 285 | va_start (arg_list, proto_version); |
286 | return -1; | 286 | if (setup (&d, arg_list) != 0) |
287 | { | ||
288 | va_end (arg_list); | ||
289 | return -1; | ||
290 | } | ||
291 | |||
292 | fprintf (stdout, "running test: %s ", test_name); | ||
287 | ret = test (test_fd, cipher_suite, proto_version); | 293 | ret = test (test_fd, cipher_suite, proto_version); |
294 | |||
295 | if (ret == 0) | ||
296 | { | ||
297 | fprintf (stdout, "[pass]\n"); | ||
298 | } | ||
299 | else | ||
300 | { | ||
301 | fprintf (stdout, "[fail]\n"); | ||
302 | } | ||
303 | |||
288 | teardown (d); | 304 | teardown (d); |
305 | va_end (arg_list); | ||
289 | return ret; | 306 | return ret; |
290 | } | 307 | } |
291 | 308 | ||
@@ -336,6 +353,9 @@ test_file_certificates (FILE * test_fd, char *cipher_suite, int proto_version) | |||
336 | return ret; | 353 | return ret; |
337 | } | 354 | } |
338 | 355 | ||
356 | /* | ||
357 | * test server refuses to negotiate connections with unsupported protocol versions | ||
358 | */ | ||
339 | int | 359 | int |
340 | test_protocol_version (FILE * test_fd, char *cipher_suite, | 360 | test_protocol_version (FILE * test_fd, char *cipher_suite, |
341 | int curl_proto_version) | 361 | int curl_proto_version) |
@@ -344,7 +364,7 @@ test_protocol_version (FILE * test_fd, char *cipher_suite, | |||
344 | CURLcode errornum; | 364 | CURLcode errornum; |
345 | 365 | ||
346 | c = curl_easy_init (); | 366 | c = curl_easy_init (); |
347 | #ifdef DEBUG | 367 | #if DEBUG_CURL_VERBOSE |
348 | curl_easy_setopt (c, CURLOPT_VERBOSE, 1); | 368 | curl_easy_setopt (c, CURLOPT_VERBOSE, 1); |
349 | #endif | 369 | #endif |
350 | curl_easy_setopt (c, CURLOPT_URL, "https://localhost:42433/"); | 370 | curl_easy_setopt (c, CURLOPT_URL, "https://localhost:42433/"); |
@@ -384,7 +404,7 @@ main (int argc, char *const *argv) | |||
384 | FILE *test_fd; | 404 | FILE *test_fd; |
385 | unsigned int errorCount = 0; | 405 | unsigned int errorCount = 0; |
386 | 406 | ||
387 | gnutls_global_set_log_level(11); | 407 | gnutls_global_set_log_level (DEBUG_GNUTLS_LOG_LEVEL); |
388 | 408 | ||
389 | if (curl_check_version (MHD_REQ_CURL_VERSION)) | 409 | if (curl_check_version (MHD_REQ_CURL_VERSION)) |
390 | { | 410 | { |
@@ -403,54 +423,61 @@ main (int argc, char *const *argv) | |||
403 | return -1; | 423 | return -1; |
404 | } | 424 | } |
405 | 425 | ||
406 | int mac[] = {MHD_GNUTLS_MAC_SHA1, 0}; | 426 | int mac[] = { MHD_GNUTLS_MAC_SHA1, 0 }; |
407 | int p [] = {MHD_GNUTLS_SSL3, 0}; | 427 | int p[] = { MHD_GNUTLS_SSL3, 0 }; |
408 | int cipher[] = { MHD_GNUTLS_CIPHER_3DES_CBC, 0 }; | 428 | int cipher[] = { MHD_GNUTLS_CIPHER_3DES_CBC, 0 }; |
409 | int kx[] = { MHD_GNUTLS_KX_DHE_RSA, 0 }; | 429 | int kx[] = { MHD_GNUTLS_KX_ANON_DH, 0 }; |
410 | |||
411 | |||
412 | // errorCount += | ||
413 | // test_wrap (&test_https_transfer, test_fd, "AES256-SHA", | ||
414 | // CURL_SSLVERSION_TLSv1, MHD_OPTION_END, 0); | ||
415 | // errorCount += | ||
416 | // test_wrap (&test_file_certificates, test_fd, "AES256-SHA", | ||
417 | // CURL_SSLVERSION_TLSv1, MHD_OPTION_END, 0); | ||
418 | // | ||
419 | // errorCount += | ||
420 | // test_wrap (&test_protocol_version, test_fd, "AES256-SHA", | ||
421 | // CURL_SSLVERSION_TLSv1, MHD_OPTION_PROTOCOL_VERSION, p); | ||
422 | // | ||
423 | // errorCount += | ||
424 | // test_wrap (&test_https_transfer, test_fd, "DES-CBC3-SHA", | ||
425 | // CURL_SSLVERSION_TLSv1, MHD_OPTION_CIPHER_ALGORITHM, cipher); | ||
426 | 430 | ||
427 | errorCount += | 431 | errorCount += |
428 | test_wrap (&test_https_transfer, test_fd, "AES256-SHA", | 432 | test_wrap ("https_transfer", &test_https_transfer, test_fd, "AES256-SHA", |
429 | CURL_SSLVERSION_TLSv1, MHD_OPTION_MAC_ALGO, mac); | 433 | CURL_SSLVERSION_TLSv1, |
430 | 434 | MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem, | |
431 | // errorCount += | 435 | MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem, |
432 | // test_wrap (&test_https_transfer, test_fd, "EDH-RSA-DES-CBC3-SHA", | 436 | MHD_OPTION_END); |
433 | // CURL_SSLVERSION_TLSv1, MHD_OPTION_KX_PRIORITY, kx); | 437 | errorCount += |
438 | test_wrap ("file certificates", &test_file_certificates, test_fd, | ||
439 | "AES256-SHA", CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY, | ||
440 | srv_key_pem, MHD_OPTION_HTTPS_MEM_CERT, | ||
441 | srv_self_signed_cert_pem, MHD_OPTION_END); | ||
442 | errorCount += | ||
443 | test_wrap ("protocol_version", &test_protocol_version, test_fd, | ||
444 | "AES256-SHA", CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY, | ||
445 | srv_key_pem, MHD_OPTION_HTTPS_MEM_CERT, | ||
446 | srv_self_signed_cert_pem, MHD_OPTION_PROTOCOL_VERSION, p, | ||
447 | MHD_OPTION_END); | ||
448 | errorCount += | ||
449 | test_wrap ("cipher DES-CBC3-SHA", &test_https_transfer, test_fd, | ||
450 | "DES-CBC3-SHA", CURL_SSLVERSION_TLSv1, | ||
451 | MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem, | ||
452 | MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem, | ||
453 | MHD_OPTION_CIPHER_ALGORITHM, cipher, MHD_OPTION_END); | ||
454 | errorCount += | ||
455 | test_wrap ("mac SH1", &test_https_transfer, test_fd, "AES256-SHA", | ||
456 | CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem, | ||
457 | MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem, | ||
458 | MHD_OPTION_MAC_ALGO, mac, MHD_OPTION_END); | ||
459 | errorCount += | ||
460 | test_wrap ("kx ANON_DH", &test_https_transfer, test_fd, | ||
461 | "ADH-DES-CBC3-SHA", CURL_SSLVERSION_TLSv1, | ||
462 | MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem, | ||
463 | MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem, | ||
464 | MHD_OPTION_CRED_TYPE, MHD_GNUTLS_CRD_ANON, | ||
465 | MHD_OPTION_CIPHER_ALGORITHM, cipher, MHD_OPTION_KX_PRIORITY, | ||
466 | kx, MHD_OPTION_END); | ||
434 | 467 | ||
435 | /*gnutls_mac_algorithm_t mac[] = { | 468 | /*gnutls_mac_algorithm_t mac[] = { |
436 | {MHD_GNUTLS_MAC_MD5, 0}, 0}; | 469 | {MHD_GNUTLS_MAC_MD5, 0}, 0}; |
437 | gnutls_mac_algorithm_t * cur_mac; | 470 | gnutls_mac_algorithm_t * cur_mac; |
438 | |||
439 | for ( cur_mac = &mac[0]; (*cur_mac) != 0; cur_mac++ ){ | ||
440 | option[0] = MHD_GNUTLS_MAC_SHA1; | ||
441 | errorCount += | ||
442 | test_wrap (&test_https_transfer, test_fd, "AES256-SHA", | ||
443 | CURL_SSLVERSION_TLSv1, MHD_OPTION_MAC_ALGO, option); | ||
444 | }*/ | ||
445 | |||
446 | 471 | ||
472 | for ( cur_mac = &mac[0]; (*cur_mac) != 0; cur_mac++ ){ | ||
473 | option[0] = MHD_GNUTLS_MAC_SHA1; | ||
474 | errorCount += | ||
475 | test_wrap (&test_https_transfer, test_fd, "AES256-SHA", | ||
476 | CURL_SSLVERSION_TLSv1, MHD_OPTION_MAC_ALGO, option); | ||
477 | } */ | ||
447 | 478 | ||
448 | if (errorCount != 0) | 479 | if (errorCount != 0) |
449 | fprintf (stderr, "Failed test: %s.\n", argv[0]); | 480 | fprintf (stderr, "Failed test: %s.\n", argv[0]); |
450 | else | ||
451 | { | ||
452 | fprintf (stderr, "ok\n"); | ||
453 | } | ||
454 | 481 | ||
455 | curl_global_cleanup (); | 482 | curl_global_cleanup (); |
456 | fclose (test_fd); | 483 | fclose (test_fd); |
diff --git a/src/testcurl/https/tls_session_time_out_test.c b/src/testcurl/https/tls_session_time_out_test.c index 846bdd10..745c8d53 100644 --- a/src/testcurl/https/tls_session_time_out_test.c +++ b/src/testcurl/https/tls_session_time_out_test.c | |||
@@ -101,7 +101,6 @@ static int | |||
101 | test_tls_session_time_out (gnutls_session_t session) | 101 | test_tls_session_time_out (gnutls_session_t session) |
102 | { | 102 | { |
103 | int sd, ret; | 103 | int sd, ret; |
104 | char *url = "https://localhost:42433/"; | ||
105 | struct sockaddr_in sa; | 104 | struct sockaddr_in sa; |
106 | 105 | ||
107 | sd = socket (AF_INET, SOCK_STREAM, 0); | 106 | sd = socket (AF_INET, SOCK_STREAM, 0); |
@@ -153,8 +152,8 @@ main (int argc, char *const *argv) | |||
153 | gnutls_global_init (); | 152 | gnutls_global_init (); |
154 | gnutls_global_set_log_level (11); | 153 | gnutls_global_set_log_level (11); |
155 | 154 | ||
156 | d = MHD_start_daemon (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL | | 155 | d = MHD_start_daemon_ip(MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL | |
157 | MHD_USE_DEBUG, 42433, | 156 | MHD_USE_DEBUG, 42433, "127.0.0.1", |
158 | NULL, NULL, &http_ahc, NULL, | 157 | NULL, NULL, &http_ahc, NULL, |
159 | MHD_OPTION_CONNECTION_TIMEOUT, TIME_OUT, | 158 | MHD_OPTION_CONNECTION_TIMEOUT, TIME_OUT, |
160 | MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem, | 159 | MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem, |
diff --git a/src/testcurl/https/tls_test_keys.h b/src/testcurl/https/tls_test_keys.h index aca0639c..871f99b1 100644 --- a/src/testcurl/https/tls_test_keys.h +++ b/src/testcurl/https/tls_test_keys.h | |||
@@ -24,105 +24,106 @@ | |||
24 | 24 | ||
25 | /* Certificate Authority key */ | 25 | /* Certificate Authority key */ |
26 | const char ca_key_pem[] = | 26 | const char ca_key_pem[] = |
27 | "-----BEGIN RSA PRIVATE KEY-----\n" | 27 | "-----BEGIN RSA PRIVATE KEY-----\n" |
28 | "MIIEpAIBAAKCAQEA3vzPUd2yRjeHy9Yi22uX1vGnUPmB5zS+77/B9LubTqnNJ9eB\n" | 28 | "MIIEowIBAAKCAQEAthkEJMVt/l06gPJQCfdMKJdYXdQZGSBkOroWGZfs0oYBcSU3\n" |
29 | "jiMegQJsJWFQT/CW8FurYiSMXIuTBirZX7NO6/rlcqifdfKLotSUuXLu5DBvMLCv\n" | 29 | "JeszCWwDgzw5Ac4o2no9/P7FLVm6+zaIO9gexVi2p1fDhT1+6Lir7O6waS94vLdu\n" |
30 | "nQ73wCIdCJoVyJbRN0ExHsyGwCDCxaHuY8FlkIsfYo17SNmJNaMSUqdoAZoelmbq\n" | 30 | "jxdJPGfakZTktRAA3MBbC1XuMYPYXZ6nUrRkmHLeG6Oj+L0U3iVq0ZjLYjekCmqV\n" |
31 | "r9oVciRCQGgrmwEJdPj7EAofWSudV77y85j5rV/t51eNy5liS2qXnoFEmeqTuBo1\n" | 31 | "FXRaDmoLWkmxplKz6UyzUXmNlyU4EzLpek2NjTtEUxh0Te+wD4RivBhCPGr7PRlY\n" |
32 | "1cSmRbv5dkCHbx+youLyZG39KxB0MZ124Na3qbUY41BPNj1XBljyAoHyY0J1iDqS\n" | 32 | "JhjkTk1u75HP41yQC6MnnfY3IALWwuabBQsreR0W0h17lB3YHdHKjP5xJfEeJPtb\n" |
33 | "0Zo+njEW6vRbmSMkrA1kH45+alN50X11mSgfoQIDAQABAoIBAAmLu+4Ushpdi5Sd\n" | 33 | "625+lHQpH4nfzGcna/RFok6xRpjZu7mB3t7XGwIDAQABAoIBABhD2x5/RHn5uFsI\n" |
34 | "P1cidjDFXfDaao5I2LTroghpnNyfaiT+zbj1jctu7K1luuX+Lh7+ZKIGH6RhVP8g\n" | 34 | "bwv07SwXhsnyAmoru89rjphYe1FOVBDcsa2W2tUtlIY/VyVbcGw0j+APnvy9EUJ6\n" |
35 | "R9eYBeyWHDsWJwPqCQJkrHR7LCkEfgkRAkaUZsSgzTqCWqUAeFa/xaQcdDcOu/nR\n" | 35 | "cMrwsKEBgk1oT4CIwkmGmjpXUCCkF8Wl99CPfM3U1PZDTfqmqEbCRx+KktP8Sq+m\n" |
36 | "DKMUexYmz4ZU+VJxPhWHzGuxhxM85uJOPK3rCaYCJoo1vMpF7MeFFvVljhSdyht5\n" | 36 | "/YryyNjbracnNilmIMq9V6+YWbm7kJHRLVQWHqh/ljji+kCx5y9VII7HYz4217Er\n" |
37 | "KD0w6qP0Y+vDe4cD/4W3wq82qXCFPA5oImjSJveEIJumPIjOyLFF+9p9V6hzg8Em\n" | 37 | "I5HrnPJodmYrH5Tj8Hj9NY7Ok/IeqD186fPuYH/qf9zWcyg7aa0rTPt/E4XjeOjU\n" |
38 | "48cpXcV3SsbaqTr6mSQl6b15zVwWq4CCt4mkeu6vK9PGzdnBiUmWaSXfprDwHaB3\n" | 38 | "kxb68+Ybozm0EY1ypa1Yxf3B4hkyrlQ5lfzDSBKqvQkGA92yNDPYiZX71nDHDj9H\n" |
39 | "t1N0GRECgYEA5gP0gmZQDDJTlaGK9Z6pWiwpMBUoYcnqvCn8MQ5uPQn+KZir19AJ\n" | 39 | "wf8tWlECgYEAxN8bnMXzmGLbNJUQFuEFBCDFE/tAMhBWcN6eyupIwyXXNA8/xGnJ\n" |
40 | "PkVLfWT9Dcaf3+2d0kBBgGYFWL+wK8DgrqALiLJfM6gP3Ts7G6Bis4GFdWY9aUnT\n" | 40 | "rYO4U08YrgvQ6d71xLXAJnsypeJ3FsyIXDar21o5DwVj1ON0nW6xuXsfQWYGEsXm\n" |
41 | "6ZhRYdzetVArhTZBRKh8ERQNPy4TmzWDtjVUAfezUcvXqOjl9H5Q01ECgYEA+C2b\n" | 41 | "fDVf4LVO+P58uAnM3+lKXWMwsw7/ja9VECrOvfTlf7CwwIPfmRzxZEMCgYEA7Mn+\n" |
42 | "i05t/RYcU0eFVYK8Yfl3jZJiopMdYwXCSCO21Ag2i0fjKC89rCmLlliffSSuDtNk\n" | 42 | "PBO352EXzXbGTuLY9iFXo3GL4EXB2nbkXBdTxEbPl+ICjg/1MPtRN9l03y8l06/G\n" |
43 | "xFsaSjns8Vyl7sjMcAOfsGokiUIcFnK/LyVoc3ie2NCiLVzw6zKK8lJ4bhn4afnv\n" | 43 | "MpbxkpPnSXdjXQ1fgXfG9FuKS89BNUfoEfG/3015w49ZAcBYRmvCSGTspu/hshdQ\n" |
44 | "N9RKXP76emb8MaZroKlKkhMR8f2BvzXbv2NyU1ECgYEAtJeAXu1zhc/xnjaiQqxa\n" | 44 | "iom2AFy2aRXfvsoUlePRccs1/7RKclK7ahfdwEkCgYBXQOLGCt25rialGWO2ICjO\n" |
45 | "rMilYfIKrZR571hLgDyjQttYqVIMAbp9t11yorYqlKlRFuCaG9yFUQlIw2BlMkUS\n" | 45 | "+Y8fGf4Lsj39bE1IdammBAFrK08ByDkAVB6/nZC8orQG0zBt7HerFnMOHl7VlfTh\n" |
46 | "YyiXRbE+W/Fk2z7I7qzjMarMnNsz9jmX3vzPULW4ScTzFnj9j6l1F3eV2vgTPrYq\n" | 46 | "mcF1SHl9dNAYLG8kz0ipgi4KGCOc8mUCq81AlFrZ9EBmeMF6g7TXyvxsf7s3mnvC\n" |
47 | "fmGqXo0bRmp0HVMWUPrn/LECgYEA3qHTQkHGS16VZGPpiY8xPVbUV8z07NC6cQVO\n" | 47 | "3JYgjoegnjjYOhpBjBhYbQKBgQCpwJmBakVyG/obcyXx0dDmirqwUquLaZbyzj8i\n" |
48 | "hvZ64XTIsWN4tKjEU3glf2bbFCFef3BFmhv71pBmLRMmy7GYK/gkPdbKFdOXbM/d\n" | 48 | "AhssX/NdGErqm2gU6GauWjfd9IfyvVWiWPHwOhYaZfuW7wpj34GDFskLVhaSYu1t\n" |
49 | "EAcnz0ZqgSeQBM+2U9dQbBdtb5+eiDsszNGFMC2QN1PBcyzOqh6UBbxTwdjfls9S\n" | 49 | "R9lc9cbwOqj9h24Bdik/CxNZDinIKcy0tMsEcXLX3TWdKnQdjMhPAvbATPj+Am+X\n" |
50 | "5Trp6TECgYAzCZmmJuBW6WDK5ttOF/do6r0aurHr2mOr8oYxmBkhI3wphyUMNuaH\n" | 50 | "PGrd+QKBgF5U2i0d2Mgw/JmlVCY79uD9eERivF5HLOYv3XUr9N1/bgIqKSQnrKJC\n" |
51 | "rUk+R8LAmC1U4MbvvqoZH27xe+xd25mn6whitgZBH3DIetN7myDJep8wEG6aW4R5\n" | 51 | "pXC+ZHP9yTmcznwFkbMbJ9cTwMVU1n+hguvyjIJHmmeGrpBuaiT4HwPgV6IZY3N2\n" |
52 | "S82zk+LQJ7LTa1nPVPMS10qUXSH9cjShhszfeRIQM+lWbPoaEuo3yQ==\n" | 52 | "a05cOyYYE3I7h9fQs1MfZRK44rRiXycwb+HA4lwuFWTI7h5qdc/U\n" |
53 | "-----END RSA PRIVATE KEY-----\n"; | 53 | "-----END RSA PRIVATE KEY-----\n"; |
54 | 54 | ||
55 | /* Certificate Authority cert */ | 55 | /* Certificate Authority cert */ |
56 | const char ca_cert_pem[] = | 56 | const char ca_cert_pem[] = |
57 | "-----BEGIN CERTIFICATE-----\n" | 57 | "-----BEGIN CERTIFICATE-----\n" |
58 | "MIIC6DCCAdKgAwIBAgIESHv2uDALBgkqhkiG9w0BAQUwFzEVMBMGA1UEAxMMdGVz\n" | 58 | "MIIC6DCCAdKgAwIBAgIESJ2sXDALBgkqhkiG9w0BAQUwFzEVMBMGA1UEAxMMdGVz\n" |
59 | "dF9jYV9jZXJ0MB4XDTA4MDcxNTAxMDA0MFoXDTA5MDcxNTAxMDA0MFowFzEVMBMG\n" | 59 | "dF9jYV9jZXJ0MB4XDTA4MDgwOTE0NDAyOFoXDTA5MDgwOTE0NDAyOFowFzEVMBMG\n" |
60 | "A1UEAxMMdGVzdF9jYV9jZXJ0MIIBHzALBgkqhkiG9w0BAQEDggEOADCCAQkCggEA\n" | 60 | "A1UEAxMMdGVzdF9jYV9jZXJ0MIIBHzALBgkqhkiG9w0BAQEDggEOADCCAQkCggEA\n" |
61 | "3vzPUd2yRjeHy9Yi22uX1vGnUPmB5zS+77/B9LubTqnNJ9eBjiMegQJsJWFQT/CW\n" | 61 | "thkEJMVt/l06gPJQCfdMKJdYXdQZGSBkOroWGZfs0oYBcSU3JeszCWwDgzw5Ac4o\n" |
62 | "8FurYiSMXIuTBirZX7NO6/rlcqifdfKLotSUuXLu5DBvMLCvnQ73wCIdCJoVyJbR\n" | 62 | "2no9/P7FLVm6+zaIO9gexVi2p1fDhT1+6Lir7O6waS94vLdujxdJPGfakZTktRAA\n" |
63 | "N0ExHsyGwCDCxaHuY8FlkIsfYo17SNmJNaMSUqdoAZoelmbqr9oVciRCQGgrmwEJ\n" | 63 | "3MBbC1XuMYPYXZ6nUrRkmHLeG6Oj+L0U3iVq0ZjLYjekCmqVFXRaDmoLWkmxplKz\n" |
64 | "dPj7EAofWSudV77y85j5rV/t51eNy5liS2qXnoFEmeqTuBo11cSmRbv5dkCHbx+y\n" | 64 | "6UyzUXmNlyU4EzLpek2NjTtEUxh0Te+wD4RivBhCPGr7PRlYJhjkTk1u75HP41yQ\n" |
65 | "ouLyZG39KxB0MZ124Na3qbUY41BPNj1XBljyAoHyY0J1iDqS0Zo+njEW6vRbmSMk\n" | 65 | "C6MnnfY3IALWwuabBQsreR0W0h17lB3YHdHKjP5xJfEeJPtb625+lHQpH4nfzGcn\n" |
66 | "rA1kH45+alN50X11mSgfoQIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud\n" | 66 | "a/RFok6xRpjZu7mB3t7XGwIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud\n" |
67 | "DwEB/wQFAwMHBAAwHQYDVR0OBBYEFB3x03+3Qa2SDwRF6RkNcjg9zRHJMAsGCSqG\n" | 67 | "DwEB/wQFAwMHBAAwHQYDVR0OBBYEFGTWojUUrKbS/Uid9S3hPxmgKeaxMAsGCSqG\n" |
68 | "SIb3DQEBBQOCAQEAjPoKMve8aqtL8fFXfSkYwLJUwuTG4E4mX804O5dsdvOEWR2/\n" | 68 | "SIb3DQEBBQOCAQEAWP1f/sfNsvA/oz7OJSBCsQxAnjrKMIXgbVnop+4bEWPxk4e9\n" |
69 | "UQm5IDiAZ3fnHE8zh0C1Kg+dWnCv0i1Q5CYZJ5sSY3tKikG5UBPVJGV1tT0vDfmJ\n" | 69 | "TETSk5MMXt2BfaCtaLZw19Zbqlh4ZFuVw+QC1GTa0xlagHiRgXU2DOvPT5+y+XUR\n" |
70 | "X7b52y35eN8qe5DsdyDAcF2GNRBU8opkLkyXb8U095AQiCHzTPpiesZd5phJlMPm\n" | 70 | "TSy0Pqou7spgEkLcFxlXYlx3tpDu+Awmx9DBGHMCysVynnEzeBYW4woCfBG2UiVA\n" |
71 | "AJaB4VtHAykDMeKd7HJAeelRi/1dP8xsYNc1z67cSrkt2f+B0WAyuAUBBr1NdYmS\n" | 71 | "iHVz6jBc4bBkylKVkA42GiroExuPc+W9qtHGuVX045R7gz78KK0CMIObdySbogBe\n" |
72 | "duegptXCh8OeGEL/v6mbIWoszDbOjk/0zwsgW8BD/eXaZgPPEUtmHizYPIRPdeW1\n" | 72 | "gYZUbyVvPVHINEc929PoV12dHP7wrKnqPbiwb+h1SHui8bVinE+1JY3mRB1VGVTa\n" |
73 | "MSCwccjl/XjDkIoN8kKss4Ftt+Wyajjjxeh6YA==\n" "-----END CERTIFICATE-----\n"; | 73 | "rgvlVGs2S+Zq48XMs4aeLgHkGWFAIXbpX34HSw==\n" |
74 | "-----END CERTIFICATE-----\n"; | ||
74 | 75 | ||
75 | /* test server CA signed certificates */ | 76 | /* test server CA signed certificates */ |
76 | const char srv_signed_cert_pem[] = | 77 | const char srv_signed_cert_pem[] = |
77 | "-----BEGIN CERTIFICATE-----\n" | 78 | "-----BEGIN CERTIFICATE-----\n" |
78 | "MIIDHzCCAgmgAwIBAgIESHv6kTALBgkqhkiG9w0BAQUwFzEVMBMGA1UEAxMMdGVz\n" | 79 | "MIIDBDCCAe6gAwIBAgIESJ2sXzALBgkqhkiG9w0BAQUwFzEVMBMGA1UEAxMMdGVz\n" |
79 | "dF9jYV9jZXJ0MB4XDTA4MDcxNTAxMTcwNVoXDTA5MDcxNTAxMTcwNVowGzEZMBcG\n" | 80 | "dF9jYV9jZXJ0MB4XDTA4MDgwOTE0NDAzMloXDTA5MDgwOTE0NDAzNVowADCCAR8w\n" |
80 | "A1UEAxMQdGVzdF9zZXJ2ZXJfY2VydDCCAR8wCwYJKoZIhvcNAQEBA4IBDgAwggEJ\n" | 81 | "CwYJKoZIhvcNAQEBA4IBDgAwggEJAoIBAOb6G6WJrrNC48NSh5i4eT7J1BCqlMB4\n" |
81 | "AoIBAJIY2+Wn+TRHIJ92tpNvCIE6FOsGclRxOFJwK0T6k3SK68LwQ9PkQTTB/DJu\n" | 82 | "e0No+td/PQf+sPywbQToYGiPfOFfMyge1G6SyRpXavKbPwuw1BN183WoYzID5mtz\n" |
82 | "+hU2u6w6lt1+Q8PHTDMLtnkEeXnxPn1uQZnnMEBcHAGY1U99iJh0At68AyoG7nkb\n" | 83 | "shAOl/JRhdusScFijS3pITiNK4G5NLToCP4KZhqguqHUzEdanifSb/D4x54Rq/Tc\n" |
83 | "AzgzxxjMom+dEhGEFHOg9JKmJp138RzIWcMN2l4pKIryiBUh5AWt/7uqtA+9fQMq\n" | 84 | "A7oHGp0wjdWC/AMtGWv6v55xMe00ALZ1zDxCOi8nri9W7mLy+hyduETCq+1Y7uHl\n" |
84 | "nOeO8OU5FM3eKevl3VSZ6usptbePbUDNs5uEmG+PTR0bc2rYgGeC4+wExWcJ+CAq\n" | 85 | "mqbAk8D7ruu0JtNU2N8WuJJcAtxgZhCCfIHTgAUWqepeRBM8cy8uu0tywgxcJiyt\n" |
85 | "voNVPno//MoMeJjWgXqF4wTBFdfsewngkflwRDPuZuLsxVrKnIx6jsBKIMuhVuxT\n" | 86 | "Uu1wXQHnnpWrr/9r6IfhjFpc9pr5giHBeM4KdlU49UsYgaS1tAZsDJcCAwEAAaN2\n" |
86 | "66vnEmuR34TUIzLlVPcJ5wmby2UCAwEAAaN2MHQwDAYDVR0TAQH/BAIwADATBgNV\n" | 87 | "MHQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8E\n" |
87 | "HSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDByAAMB0GA1UdDgQWBBSHX75y\n" | 88 | "BQMDB6AAMB0GA1UdDgQWBBSxP229okDqlKyMCyg0cnzbf+eb4DAfBgNVHSMEGDAW\n" |
88 | "gpEjstognUu4If50qWXQaDAfBgNVHSMEGDAWgBQd8dN/t0Gtkg8ERekZDXI4Pc0R\n" | 89 | "gBRk1qI1FKym0v1InfUt4T8ZoCnmsTALBgkqhkiG9w0BAQUDggEBAEabY4FLsFQr\n" |
89 | "yTALBgkqhkiG9w0BAQUDggEBAF56YMCdp0C88ZF9yaXJZ4PMuTpW83Mhg5Ar0a9H\n" | 90 | "PACNe3p5tU3hWvvQ9S1pRlfnc/z1o+k9NDWTHlNjXfVTl6/6cIKHA+r8SvRks27+\n" |
90 | "DasF58p8eeRLhsTJPi+NpFSMTujEabGS3+8l6Iu5F5stFgvbvnjLHdYu2Pjakos8\n" | 91 | "lScfxFkiCi22YC7uPbn8fW1nWcsqEkK4e0TDekSUi1o6SDx6cU07kMpx3iKvpLs3\n" |
91 | "NjZCCkuEmIO4PLd6h5ToOZf3ZXNHmFjRTtKHQKNrYizlHlgnEDcUbU4gB5KOg3jU\n" | 92 | "5QiCFjivMjrY8pEFJIke/ucI8QuLVZLLUSdTHb9Ck128PtPKA4y2uZA/MmYS/OtR\n" |
92 | "rv/Mtar+5LRK7KvByswp26nRH1ijGV23sy9StK7tV/cJPe/UkxyUfSQwUmQzzWe6\n" | 93 | "/UZN67pJ+BqcQBE5vNolWQTM+NxfMzb48IV9q32HRT4HErvUjLIWV0nwwedUSdDG\n" |
93 | "QGAQtppUjGabWXjuLuOUyiG5LReYC5ri7XZuVekCAfUHbOdPYTHPczvpKBnUyKIv\n" | 94 | "63tr9jp0GF6b5Eum0MTVV/zbBxfyRFg+Q8xRn70zJlB/W7byaFq/95Rpfqjdnta2\n" |
94 | "BRKOarmNfNc3w5G7Ast3jNOE2JfiJ8+x9+rMWI01PlWVYvQ=\n" | 95 | "aO/omlvGHrI=\n" |
95 | "-----END CERTIFICATE-----\n"; | 96 | "-----END CERTIFICATE-----\n"; |
96 | 97 | ||
97 | /* test server key */ | 98 | /* test server key */ |
98 | const char srv_signed_key_pem[] = | 99 | const char srv_signed_key_pem[] = |
99 | "-----BEGIN RSA PRIVATE KEY-----\n" | 100 | "-----BEGIN RSA PRIVATE KEY-----\n" |
100 | "MIIEpAIBAAKCAQEAkhjb5af5NEcgn3a2k28IgToU6wZyVHE4UnArRPqTdIrrwvBD\n" | 101 | "MIIEowIBAAKCAQEA5vobpYmus0Ljw1KHmLh5PsnUEKqUwHh7Q2j61389B/6w/LBt\n" |
101 | "0+RBNMH8Mm76FTa7rDqW3X5Dw8dMMwu2eQR5efE+fW5BmecwQFwcAZjVT32ImHQC\n" | 102 | "BOhgaI984V8zKB7UbpLJGldq8ps/C7DUE3XzdahjMgPma3OyEA6X8lGF26xJwWKN\n" |
102 | "3rwDKgbueRsDODPHGMyib50SEYQUc6D0kqYmnXfxHMhZww3aXikoivKIFSHkBa3/\n" | 103 | "LekhOI0rgbk0tOgI/gpmGqC6odTMR1qeJ9Jv8PjHnhGr9NwDugcanTCN1YL8Ay0Z\n" |
103 | "u6q0D719Ayqc547w5TkUzd4p6+XdVJnq6ym1t49tQM2zm4SYb49NHRtzatiAZ4Lj\n" | 104 | "a/q/nnEx7TQAtnXMPEI6LyeuL1buYvL6HJ24RMKr7Vju4eWapsCTwPuu67Qm01TY\n" |
104 | "7ATFZwn4ICq+g1U+ej/8ygx4mNaBeoXjBMEV1+x7CeCR+XBEM+5m4uzFWsqcjHqO\n" | 105 | "3xa4klwC3GBmEIJ8gdOABRap6l5EEzxzLy67S3LCDFwmLK1S7XBdAeeelauv/2vo\n" |
105 | "wEogy6FW7FPrq+cSa5HfhNQjMuVU9wnnCZvLZQIDAQABAoIBABISPh0FrocfZzMi\n" | 106 | "h+GMWlz2mvmCIcF4zgp2VTj1SxiBpLW0BmwMlwIDAQABAoIBACJGvGKQ74V3qDAc\n" |
106 | "YYoSGWi2sQCzTvAQAyn7UvbY0eWAC5KU2qb6nHA0sIfif0+hcgxnQOML68DrRYso\n" | 107 | "p7WwroF0Vw2QGtoDJxumUQ84uRheIeqlzc/cIi5yGLCjPYa3KIQuMTzA+0R8aFs2\n" |
107 | "3zzP52DEjPjB6x5o4OiNHC+8YmJPQlatPu+jLPcFXXkgdMD+cpmoMk2BDcuZ3VfC\n" | 108 | "RwqKRvJPZkUOUhvhA+whFkhl86zZQOq7UsMc5Qqs3Gd4UguEoYz9gxBxiLCqURRH\n" |
108 | "KI59O9iNjgcD50p/y6uLBsdNIbUPSMe8ONWT7f5DN/DqEL+3tVZaRAOL+C8iKYf4\n" | 109 | "rM+xCV6jtI/PBIsmOUFae4cXJP0pljUXyYmwwb/WrsvnJXf9Gz8/VLZGBMchMH7R\n" |
109 | "EPI5z6gOyL0aEpulbMKc0YoZZ2kDmu5IyMLgkF3DJV440Y/6IGan88ZSjk6i/d7f\n" | 110 | "MwD7xdwc/ht2XfZ0TuDntpJDtj0JrW9i/Cxt8PnNhQjgLsAe+oUUZt7Bo+vXBxhu\n" |
110 | "ciKVtzIIbr5ubbuGe3htphTpRP0aA5WuVTzHrKk83/u3hG1RFv1q/cRD28tVUIII\n" | 111 | "JPKj6BHcj768l+gDn5zzaXKq0eF7mMXc7fgAp0u8lJkC0LxLq/WmIfqw4Z4mEjkX\n" |
111 | "0pcwLmECgYEAwMdaR5Y2NqBk/fOvU/oCDAQ6w8jmIa4zMxskvq9Pr753jhT13j+T\n" | 112 | "DremIoUCgYEA53vX9Hd8V85hCfeaTDf3B5q6g9kIliR+Y2tX2aSqN06df9J/KOdL\n" |
112 | "eQ1A590PF4PPvGFTqJ2vl3kj6JT5dzu7mGKoJLFsnttpw+0NYUgp0waPPZx010pp\n" | 113 | "G/lEQn4rsOOtOwyTU2luPmcr0XgbXA1T1kj56+UZrxtRducsdsVbVixzD2KswtJO\n" |
113 | "QGeyQ/cPsZEZkCehh9c5CsfO1YpjKLV/wdpBQ2xAnkV5dfFmzlzLOTECgYEAwgJf\n" | 114 | "wUH6XAJNdpI++64TuZadnKAaKiqim7CPzQYrBXYKKRFGSDd50urkTRMCgYEA/3CG\n" |
114 | "gxlR9Jgv7Qg/6Prs+SarqT4xDsJKKbD7wH2jveGFXVnkYTPVstwLCAus4LaLFKZ9\n" | 115 | "NMaG3qtzQceQUw7BBAhey387MR+1FUQHQ7xoq2jc3yAx4H2NEyGa6wL5CtFKn5In\n" |
115 | "1POQDUgO24E1GzuL7mqSuvymdl5gZICfpkHstOAfpqep96pUv4aI9BY/g5l4Lvep\n" | 116 | "BP6f30sk2ilXRv5pbIIiS8Xzngxy3m17GH33YrSc3ff/u+LWgR/EOVpa9F+sMAjp\n" |
116 | "9c52tgQGwz0qgBUJBi6AvzxqRkBsxrXjX2m7KHUCgYEAtjx94ohkTXWIouy2xFrl\n" | 117 | "ohDgI8iH8GtahrRA0BxQKfNIo2zUTqNwFP88xu0CgYADOY1zoWqBCqX9bo6euzTc\n" |
117 | "jnh9GNGUgyhK7Dfvn3bYjJkwKZc06dkNzvQxdD5r4t3PBhS3YgFWmYmB4X7a6NUF\n" | 118 | "zUIF7jMZbF66Yddyd8HLTXQSQMt2tWotdJaH2pwfNbzHEtDGm7RmeCd7HpI7ARCG\n" |
118 | "vMMekjlLJkziib1Q1bLDHuLni+WYKmEEaEbepRMrub8h/D0KnQBewwspQoJkxHn3\n" | 119 | "7rNUnvdxog7LekL7UJqKI8pij3xapnVkadfkCkAsA7OO7AjoT/nYIb7bkYZ8ZsRK\n" |
119 | "AMkSwurVlwi0DkOa3N+pmTECgYBXyCUZN1qqtjVxJXttWiPg88tWD2q5B9XwmUC/\n" | 120 | "FejphZB0rAHvpZ4z2wPdMwKBgQCfkr70RzVH81lcNXwutt/TUhtOCxyCMqmgMFBN\n" |
120 | "rtlor+LdAzBffsmhXQiswkOdhVrWpCJpOS8jo0f9r6+su7ury5LKgkh7ZGZu8vfJ\n" | 121 | "e2zz791TMjyWXjh8RBkQSVok7NwuVVI055AeIUZTV1IjkplvZNhh97aZ/HLiCwjE\n" |
121 | "jSiiCoqnqFMyWWJxKllLP8nLLKSBc9P2AU4bOyUoL8PMIjhsEJx2asqXMM1G98OC\n" | 122 | "IyUhL21zqRLEYA/auGqP3adGVGIv29GAIgSztfleMuJplj+LArT9j/LHzRvQSH+j\n" |
122 | "R1/EhQKBgQCmSkabsj8u5iEScicyJU87/sVkRIRE0GhjU8uuvcTe+dRiHuj2CENx\n" | 123 | "TlO8fQKBgE5og4pTfPrD0A7W/Li1HDGf8Ylb+DZlxoyMriW82Z/zCBvYvn1UvQRi\n" |
123 | "hh967E0nUCiJzx3is0/nYByDles9W4BLEA8JSuM5r6E7UifHR4XwIi2tQcNhCWIu\n" | 124 | "b8f3IQFXuXdf3Bx4C91kQJPovxDp14FOHJxO7F32fGMnJaU2kyp4sf4WAJZZOLnd\n" |
124 | "vGbfvxwqcm7Uj3XHb1GbYK5nnaRNailoJ7iyqHWxB1Q3iFIiMipcfg==\n" | 125 | "l64hMUsgYPI8qfsanAudD4gTAsLEP+ueWqkcb3SJNLSoQAtcGzYs\n" |
125 | "-----END RSA PRIVATE KEY-----\n"; | 126 | "-----END RSA PRIVATE KEY-----\n"; |
126 | 127 | ||
127 | /* test server self signed certificates */ | 128 | /* test server self signed certificates */ |
128 | const char srv_self_signed_cert_pem[] = | 129 | const char srv_self_signed_cert_pem[] = |