mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-29 04:09:31 +03:00
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
This commit is contained in:
1 parent
dfd057b9b6
commit
cafcdb1b08
27 files changed
+780
-893
No files matched your search
@@ -62,7 +62,7 @@ setup (gnutls_session_t * session,
|
||||
gnutls_datum_t * cert, gnutls_certificate_credentials_t * xcred)
|
||||
{
|
||||
int ret;
|
||||
const char **err_pos;
|
||||
const char ** err_pos;
|
||||
|
||||
gnutls_certificate_allocate_credentials (xcred);
|
||||
|
||||
|
||||
@@ -39,10 +39,12 @@
|
||||
|
||||
extern int curl_check_version (const char *req_version, ...);
|
||||
|
||||
const int DEBUG_GNUTLS_LOG_LEVEL = 6;
|
||||
const char *ca_cert_file_name = "ca_cert_pem";
|
||||
const char *test_file_name = "https_test_file";
|
||||
const char test_file_data[] = "Hello World\n";
|
||||
|
||||
|
||||
struct CBC
|
||||
{
|
||||
char *buf;
|
||||
@@ -173,8 +175,8 @@ test_daemon_get (FILE * test_fd, char *cipher_suite, int proto_version)
|
||||
#endif
|
||||
curl_easy_setopt (c, CURLOPT_URL, url);
|
||||
curl_easy_setopt (c, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
|
||||
curl_easy_setopt (c, CURLOPT_TIMEOUT, 3L);
|
||||
curl_easy_setopt (c, CURLOPT_CONNECTTIMEOUT, 3L);
|
||||
curl_easy_setopt (c, CURLOPT_TIMEOUT, 10L);
|
||||
curl_easy_setopt (c, CURLOPT_CONNECTTIMEOUT, 10L);
|
||||
curl_easy_setopt (c, CURLOPT_WRITEFUNCTION, ©Buffer);
|
||||
curl_easy_setopt (c, CURLOPT_FILE, &cbc);
|
||||
|
||||
@@ -224,14 +226,13 @@ test_secure_get (FILE * test_fd, char *cipher_suite, int proto_version)
|
||||
{
|
||||
int ret;
|
||||
struct MHD_Daemon *d;
|
||||
int kx[] = { MHD_GNUTLS_KX_DHE_RSA, 0 };
|
||||
|
||||
d = MHD_start_daemon (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL |
|
||||
d = MHD_start_daemon(MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL |
|
||||
MHD_USE_DEBUG, 42433,
|
||||
NULL, NULL, &http_ahc, NULL,
|
||||
MHD_OPTION_HTTPS_MEM_KEY, srv_signed_key_pem,
|
||||
MHD_OPTION_HTTPS_MEM_CERT, srv_signed_cert_pem,
|
||||
MHD_OPTION_KX_PRIORITY, kx, MHD_OPTION_END);
|
||||
MHD_OPTION_END);
|
||||
|
||||
if (d == NULL)
|
||||
{
|
||||
@@ -308,7 +309,7 @@ main (int argc, char *const *argv)
|
||||
FILE *test_fd;
|
||||
unsigned int errorCount = 0;
|
||||
|
||||
/* gnutls_global_set_log_level (11); */
|
||||
gnutls_global_set_log_level (DEBUG_GNUTLS_LOG_LEVEL);
|
||||
|
||||
if (curl_check_version (MHD_REQ_CURL_VERSION))
|
||||
{
|
||||
@@ -330,7 +331,7 @@ main (int argc, char *const *argv)
|
||||
}
|
||||
|
||||
errorCount +=
|
||||
test_secure_get (test_fd, "AES256-SHA", CURL_SSLVERSION_SSLv3);
|
||||
test_secure_get (test_fd, "AES256-SHA", CURL_SSLVERSION_TLSv1);
|
||||
|
||||
if (errorCount != 0)
|
||||
fprintf (stderr, "Failed test: %s.\n", argv[0]);
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "gnutls.h"
|
||||
#include <curl/curl.h>
|
||||
|
||||
#define DEBUG_CURL_VERBOSE 0
|
||||
#define PAGE_NOT_FOUND "<html><head><title>File not found</title></head><body>File not found</body></html>"
|
||||
|
||||
#define MHD_E_MEM "Error: memory error\n"
|
||||
@@ -42,6 +43,7 @@
|
||||
|
||||
#include "tls_test_keys.h"
|
||||
|
||||
const int DEBUG_GNUTLS_LOG_LEVEL = 0;
|
||||
const char *test_file_name = "https_test_file";
|
||||
const char test_file_data[] = "Hello World\n";
|
||||
|
||||
@@ -123,7 +125,7 @@ http_ahc (void *cls, struct MHD_Connection *connection,
|
||||
* @param test_fd: file to attempt transfering
|
||||
*/
|
||||
static int
|
||||
test_https_transfer (FILE * test_fd, char * cipher_suite, int proto_version)
|
||||
test_https_transfer (FILE * test_fd, char *cipher_suite, int proto_version)
|
||||
{
|
||||
CURL *c;
|
||||
CURLcode errornum;
|
||||
@@ -172,7 +174,7 @@ test_https_transfer (FILE * test_fd, char * cipher_suite, int proto_version)
|
||||
doc_path, test_file_name);
|
||||
|
||||
c = curl_easy_init ();
|
||||
#ifdef DEBUG
|
||||
#if DEBUG_CURL_VERBOSE
|
||||
curl_easy_setopt (c, CURLOPT_VERBOSE, 1);
|
||||
#endif
|
||||
curl_easy_setopt (c, CURLOPT_URL, url);
|
||||
@@ -249,14 +251,11 @@ setupTestFile ()
|
||||
}
|
||||
|
||||
static int
|
||||
setup (struct MHD_Daemon **d, enum MHD_OPTION option, void * value )
|
||||
setup (struct MHD_Daemon **d, va_list arg_list)
|
||||
{
|
||||
*d = MHD_start_daemon (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL |
|
||||
MHD_USE_DEBUG, 42433,
|
||||
NULL, NULL, &http_ahc, NULL,
|
||||
MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
option, value, MHD_OPTION_END);
|
||||
*d = MHD_start_daemon_va (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL |
|
||||
MHD_USE_DEBUG, 42433, "127.0.0.1",
|
||||
NULL, NULL, &http_ahc, NULL, arg_list);
|
||||
|
||||
if (*d == NULL)
|
||||
{
|
||||
@@ -273,19 +272,37 @@ teardown (struct MHD_Daemon *d)
|
||||
MHD_stop_daemon (d);
|
||||
}
|
||||
|
||||
/* TODO test_wrap: change sig to (setup_func, test, va_list test_arg) & move to test_util.c */
|
||||
int
|
||||
test_wrap (int
|
||||
test_wrap (char *test_name, int
|
||||
(*test) (FILE * test_fd, char *cipher_suite, int proto_version),
|
||||
FILE * test_fd, char *cipher_suite, int proto_version,
|
||||
enum MHD_OPTION option, void * value)
|
||||
FILE * test_fd, char *cipher_suite, int proto_version, ...)
|
||||
{
|
||||
int ret;
|
||||
va_list arg_list;
|
||||
struct MHD_Daemon *d;
|
||||
|
||||
if (setup (&d, option, value) != 0)
|
||||
return -1;
|
||||
va_start (arg_list, proto_version);
|
||||
if (setup (&d, arg_list) != 0)
|
||||
{
|
||||
va_end (arg_list);
|
||||
return -1;
|
||||
}
|
||||
|
||||
fprintf (stdout, "running test: %s ", test_name);
|
||||
ret = test (test_fd, cipher_suite, proto_version);
|
||||
|
||||
if (ret == 0)
|
||||
{
|
||||
fprintf (stdout, "[pass]\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf (stdout, "[fail]\n");
|
||||
}
|
||||
|
||||
teardown (d);
|
||||
va_end (arg_list);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -336,6 +353,9 @@ test_file_certificates (FILE * test_fd, char *cipher_suite, int proto_version)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* test server refuses to negotiate connections with unsupported protocol versions
|
||||
*/
|
||||
int
|
||||
test_protocol_version (FILE * test_fd, char *cipher_suite,
|
||||
int curl_proto_version)
|
||||
@@ -344,7 +364,7 @@ test_protocol_version (FILE * test_fd, char *cipher_suite,
|
||||
CURLcode errornum;
|
||||
|
||||
c = curl_easy_init ();
|
||||
#ifdef DEBUG
|
||||
#if DEBUG_CURL_VERBOSE
|
||||
curl_easy_setopt (c, CURLOPT_VERBOSE, 1);
|
||||
#endif
|
||||
curl_easy_setopt (c, CURLOPT_URL, "https://localhost:42433/");
|
||||
@@ -384,7 +404,7 @@ main (int argc, char *const *argv)
|
||||
FILE *test_fd;
|
||||
unsigned int errorCount = 0;
|
||||
|
||||
gnutls_global_set_log_level(11);
|
||||
gnutls_global_set_log_level (DEBUG_GNUTLS_LOG_LEVEL);
|
||||
|
||||
if (curl_check_version (MHD_REQ_CURL_VERSION))
|
||||
{
|
||||
@@ -403,54 +423,61 @@ main (int argc, char *const *argv)
|
||||
return -1;
|
||||
}
|
||||
|
||||
int mac[] = {MHD_GNUTLS_MAC_SHA1, 0};
|
||||
int p [] = {MHD_GNUTLS_SSL3, 0};
|
||||
int mac[] = { MHD_GNUTLS_MAC_SHA1, 0 };
|
||||
int p[] = { MHD_GNUTLS_SSL3, 0 };
|
||||
int cipher[] = { MHD_GNUTLS_CIPHER_3DES_CBC, 0 };
|
||||
int kx[] = { MHD_GNUTLS_KX_DHE_RSA, 0 };
|
||||
|
||||
|
||||
// errorCount +=
|
||||
// test_wrap (&test_https_transfer, test_fd, "AES256-SHA",
|
||||
// CURL_SSLVERSION_TLSv1, MHD_OPTION_END, 0);
|
||||
// errorCount +=
|
||||
// test_wrap (&test_file_certificates, test_fd, "AES256-SHA",
|
||||
// CURL_SSLVERSION_TLSv1, MHD_OPTION_END, 0);
|
||||
//
|
||||
// errorCount +=
|
||||
// test_wrap (&test_protocol_version, test_fd, "AES256-SHA",
|
||||
// CURL_SSLVERSION_TLSv1, MHD_OPTION_PROTOCOL_VERSION, p);
|
||||
//
|
||||
// errorCount +=
|
||||
// test_wrap (&test_https_transfer, test_fd, "DES-CBC3-SHA",
|
||||
// CURL_SSLVERSION_TLSv1, MHD_OPTION_CIPHER_ALGORITHM, cipher);
|
||||
int kx[] = { MHD_GNUTLS_KX_ANON_DH, 0 };
|
||||
|
||||
errorCount +=
|
||||
test_wrap (&test_https_transfer, test_fd, "AES256-SHA",
|
||||
CURL_SSLVERSION_TLSv1, MHD_OPTION_MAC_ALGO, mac);
|
||||
|
||||
// errorCount +=
|
||||
// test_wrap (&test_https_transfer, test_fd, "EDH-RSA-DES-CBC3-SHA",
|
||||
// CURL_SSLVERSION_TLSv1, MHD_OPTION_KX_PRIORITY, kx);
|
||||
test_wrap ("https_transfer", &test_https_transfer, test_fd, "AES256-SHA",
|
||||
CURL_SSLVERSION_TLSv1,
|
||||
MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
MHD_OPTION_END);
|
||||
errorCount +=
|
||||
test_wrap ("file certificates", &test_file_certificates, test_fd,
|
||||
"AES256-SHA", CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY,
|
||||
srv_key_pem, MHD_OPTION_HTTPS_MEM_CERT,
|
||||
srv_self_signed_cert_pem, MHD_OPTION_END);
|
||||
errorCount +=
|
||||
test_wrap ("protocol_version", &test_protocol_version, test_fd,
|
||||
"AES256-SHA", CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY,
|
||||
srv_key_pem, MHD_OPTION_HTTPS_MEM_CERT,
|
||||
srv_self_signed_cert_pem, MHD_OPTION_PROTOCOL_VERSION, p,
|
||||
MHD_OPTION_END);
|
||||
errorCount +=
|
||||
test_wrap ("cipher DES-CBC3-SHA", &test_https_transfer, test_fd,
|
||||
"DES-CBC3-SHA", CURL_SSLVERSION_TLSv1,
|
||||
MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
MHD_OPTION_CIPHER_ALGORITHM, cipher, MHD_OPTION_END);
|
||||
errorCount +=
|
||||
test_wrap ("mac SH1", &test_https_transfer, test_fd, "AES256-SHA",
|
||||
CURL_SSLVERSION_TLSv1, MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
MHD_OPTION_MAC_ALGO, mac, MHD_OPTION_END);
|
||||
errorCount +=
|
||||
test_wrap ("kx ANON_DH", &test_https_transfer, test_fd,
|
||||
"ADH-DES-CBC3-SHA", CURL_SSLVERSION_TLSv1,
|
||||
MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem,
|
||||
MHD_OPTION_CRED_TYPE, MHD_GNUTLS_CRD_ANON,
|
||||
MHD_OPTION_CIPHER_ALGORITHM, cipher, MHD_OPTION_KX_PRIORITY,
|
||||
kx, MHD_OPTION_END);
|
||||
|
||||
/*gnutls_mac_algorithm_t mac[] = {
|
||||
{MHD_GNUTLS_MAC_MD5, 0}, 0};
|
||||
gnutls_mac_algorithm_t * cur_mac;
|
||||
|
||||
for ( cur_mac = &mac[0]; (*cur_mac) != 0; cur_mac++ ){
|
||||
option[0] = MHD_GNUTLS_MAC_SHA1;
|
||||
errorCount +=
|
||||
test_wrap (&test_https_transfer, test_fd, "AES256-SHA",
|
||||
CURL_SSLVERSION_TLSv1, MHD_OPTION_MAC_ALGO, option);
|
||||
}*/
|
||||
|
||||
{MHD_GNUTLS_MAC_MD5, 0}, 0};
|
||||
gnutls_mac_algorithm_t * cur_mac;
|
||||
|
||||
for ( cur_mac = &mac[0]; (*cur_mac) != 0; cur_mac++ ){
|
||||
option[0] = MHD_GNUTLS_MAC_SHA1;
|
||||
errorCount +=
|
||||
test_wrap (&test_https_transfer, test_fd, "AES256-SHA",
|
||||
CURL_SSLVERSION_TLSv1, MHD_OPTION_MAC_ALGO, option);
|
||||
} */
|
||||
|
||||
if (errorCount != 0)
|
||||
fprintf (stderr, "Failed test: %s.\n", argv[0]);
|
||||
else
|
||||
{
|
||||
fprintf (stderr, "ok\n");
|
||||
}
|
||||
|
||||
curl_global_cleanup ();
|
||||
fclose (test_fd);
|
||||
|
||||
@@ -101,7 +101,6 @@ static int
|
||||
test_tls_session_time_out (gnutls_session_t session)
|
||||
{
|
||||
int sd, ret;
|
||||
char *url = "https://localhost:42433/";
|
||||
struct sockaddr_in sa;
|
||||
|
||||
sd = socket (AF_INET, SOCK_STREAM, 0);
|
||||
@@ -153,8 +152,8 @@ main (int argc, char *const *argv)
|
||||
gnutls_global_init ();
|
||||
gnutls_global_set_log_level (11);
|
||||
|
||||
d = MHD_start_daemon (MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL |
|
||||
MHD_USE_DEBUG, 42433,
|
||||
d = MHD_start_daemon_ip(MHD_USE_THREAD_PER_CONNECTION | MHD_USE_SSL |
|
||||
MHD_USE_DEBUG, 42433, "127.0.0.1",
|
||||
NULL, NULL, &http_ahc, NULL,
|
||||
MHD_OPTION_CONNECTION_TIMEOUT, TIME_OUT,
|
||||
MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem,
|
||||
|
||||
@@ -24,105 +24,106 @@
|
||||
|
||||
/* Certificate Authority key */
|
||||
const char ca_key_pem[] =
|
||||
"-----BEGIN RSA PRIVATE KEY-----\n"
|
||||
"MIIEpAIBAAKCAQEA3vzPUd2yRjeHy9Yi22uX1vGnUPmB5zS+77/B9LubTqnNJ9eB\n"
|
||||
"jiMegQJsJWFQT/CW8FurYiSMXIuTBirZX7NO6/rlcqifdfKLotSUuXLu5DBvMLCv\n"
|
||||
"nQ73wCIdCJoVyJbRN0ExHsyGwCDCxaHuY8FlkIsfYo17SNmJNaMSUqdoAZoelmbq\n"
|
||||
"r9oVciRCQGgrmwEJdPj7EAofWSudV77y85j5rV/t51eNy5liS2qXnoFEmeqTuBo1\n"
|
||||
"1cSmRbv5dkCHbx+youLyZG39KxB0MZ124Na3qbUY41BPNj1XBljyAoHyY0J1iDqS\n"
|
||||
"0Zo+njEW6vRbmSMkrA1kH45+alN50X11mSgfoQIDAQABAoIBAAmLu+4Ushpdi5Sd\n"
|
||||
"P1cidjDFXfDaao5I2LTroghpnNyfaiT+zbj1jctu7K1luuX+Lh7+ZKIGH6RhVP8g\n"
|
||||
"R9eYBeyWHDsWJwPqCQJkrHR7LCkEfgkRAkaUZsSgzTqCWqUAeFa/xaQcdDcOu/nR\n"
|
||||
"DKMUexYmz4ZU+VJxPhWHzGuxhxM85uJOPK3rCaYCJoo1vMpF7MeFFvVljhSdyht5\n"
|
||||
"KD0w6qP0Y+vDe4cD/4W3wq82qXCFPA5oImjSJveEIJumPIjOyLFF+9p9V6hzg8Em\n"
|
||||
"48cpXcV3SsbaqTr6mSQl6b15zVwWq4CCt4mkeu6vK9PGzdnBiUmWaSXfprDwHaB3\n"
|
||||
"t1N0GRECgYEA5gP0gmZQDDJTlaGK9Z6pWiwpMBUoYcnqvCn8MQ5uPQn+KZir19AJ\n"
|
||||
"PkVLfWT9Dcaf3+2d0kBBgGYFWL+wK8DgrqALiLJfM6gP3Ts7G6Bis4GFdWY9aUnT\n"
|
||||
"6ZhRYdzetVArhTZBRKh8ERQNPy4TmzWDtjVUAfezUcvXqOjl9H5Q01ECgYEA+C2b\n"
|
||||
"i05t/RYcU0eFVYK8Yfl3jZJiopMdYwXCSCO21Ag2i0fjKC89rCmLlliffSSuDtNk\n"
|
||||
"xFsaSjns8Vyl7sjMcAOfsGokiUIcFnK/LyVoc3ie2NCiLVzw6zKK8lJ4bhn4afnv\n"
|
||||
"N9RKXP76emb8MaZroKlKkhMR8f2BvzXbv2NyU1ECgYEAtJeAXu1zhc/xnjaiQqxa\n"
|
||||
"rMilYfIKrZR571hLgDyjQttYqVIMAbp9t11yorYqlKlRFuCaG9yFUQlIw2BlMkUS\n"
|
||||
"YyiXRbE+W/Fk2z7I7qzjMarMnNsz9jmX3vzPULW4ScTzFnj9j6l1F3eV2vgTPrYq\n"
|
||||
"fmGqXo0bRmp0HVMWUPrn/LECgYEA3qHTQkHGS16VZGPpiY8xPVbUV8z07NC6cQVO\n"
|
||||
"hvZ64XTIsWN4tKjEU3glf2bbFCFef3BFmhv71pBmLRMmy7GYK/gkPdbKFdOXbM/d\n"
|
||||
"EAcnz0ZqgSeQBM+2U9dQbBdtb5+eiDsszNGFMC2QN1PBcyzOqh6UBbxTwdjfls9S\n"
|
||||
"5Trp6TECgYAzCZmmJuBW6WDK5ttOF/do6r0aurHr2mOr8oYxmBkhI3wphyUMNuaH\n"
|
||||
"rUk+R8LAmC1U4MbvvqoZH27xe+xd25mn6whitgZBH3DIetN7myDJep8wEG6aW4R5\n"
|
||||
"S82zk+LQJ7LTa1nPVPMS10qUXSH9cjShhszfeRIQM+lWbPoaEuo3yQ==\n"
|
||||
"-----END RSA PRIVATE KEY-----\n";
|
||||
"-----BEGIN RSA PRIVATE KEY-----\n"
|
||||
"MIIEowIBAAKCAQEAthkEJMVt/l06gPJQCfdMKJdYXdQZGSBkOroWGZfs0oYBcSU3\n"
|
||||
"JeszCWwDgzw5Ac4o2no9/P7FLVm6+zaIO9gexVi2p1fDhT1+6Lir7O6waS94vLdu\n"
|
||||
"jxdJPGfakZTktRAA3MBbC1XuMYPYXZ6nUrRkmHLeG6Oj+L0U3iVq0ZjLYjekCmqV\n"
|
||||
"FXRaDmoLWkmxplKz6UyzUXmNlyU4EzLpek2NjTtEUxh0Te+wD4RivBhCPGr7PRlY\n"
|
||||
"JhjkTk1u75HP41yQC6MnnfY3IALWwuabBQsreR0W0h17lB3YHdHKjP5xJfEeJPtb\n"
|
||||
"625+lHQpH4nfzGcna/RFok6xRpjZu7mB3t7XGwIDAQABAoIBABhD2x5/RHn5uFsI\n"
|
||||
"bwv07SwXhsnyAmoru89rjphYe1FOVBDcsa2W2tUtlIY/VyVbcGw0j+APnvy9EUJ6\n"
|
||||
"cMrwsKEBgk1oT4CIwkmGmjpXUCCkF8Wl99CPfM3U1PZDTfqmqEbCRx+KktP8Sq+m\n"
|
||||
"/YryyNjbracnNilmIMq9V6+YWbm7kJHRLVQWHqh/ljji+kCx5y9VII7HYz4217Er\n"
|
||||
"I5HrnPJodmYrH5Tj8Hj9NY7Ok/IeqD186fPuYH/qf9zWcyg7aa0rTPt/E4XjeOjU\n"
|
||||
"kxb68+Ybozm0EY1ypa1Yxf3B4hkyrlQ5lfzDSBKqvQkGA92yNDPYiZX71nDHDj9H\n"
|
||||
"wf8tWlECgYEAxN8bnMXzmGLbNJUQFuEFBCDFE/tAMhBWcN6eyupIwyXXNA8/xGnJ\n"
|
||||
"rYO4U08YrgvQ6d71xLXAJnsypeJ3FsyIXDar21o5DwVj1ON0nW6xuXsfQWYGEsXm\n"
|
||||
"fDVf4LVO+P58uAnM3+lKXWMwsw7/ja9VECrOvfTlf7CwwIPfmRzxZEMCgYEA7Mn+\n"
|
||||
"PBO352EXzXbGTuLY9iFXo3GL4EXB2nbkXBdTxEbPl+ICjg/1MPtRN9l03y8l06/G\n"
|
||||
"MpbxkpPnSXdjXQ1fgXfG9FuKS89BNUfoEfG/3015w49ZAcBYRmvCSGTspu/hshdQ\n"
|
||||
"iom2AFy2aRXfvsoUlePRccs1/7RKclK7ahfdwEkCgYBXQOLGCt25rialGWO2ICjO\n"
|
||||
"+Y8fGf4Lsj39bE1IdammBAFrK08ByDkAVB6/nZC8orQG0zBt7HerFnMOHl7VlfTh\n"
|
||||
"mcF1SHl9dNAYLG8kz0ipgi4KGCOc8mUCq81AlFrZ9EBmeMF6g7TXyvxsf7s3mnvC\n"
|
||||
"3JYgjoegnjjYOhpBjBhYbQKBgQCpwJmBakVyG/obcyXx0dDmirqwUquLaZbyzj8i\n"
|
||||
"AhssX/NdGErqm2gU6GauWjfd9IfyvVWiWPHwOhYaZfuW7wpj34GDFskLVhaSYu1t\n"
|
||||
"R9lc9cbwOqj9h24Bdik/CxNZDinIKcy0tMsEcXLX3TWdKnQdjMhPAvbATPj+Am+X\n"
|
||||
"PGrd+QKBgF5U2i0d2Mgw/JmlVCY79uD9eERivF5HLOYv3XUr9N1/bgIqKSQnrKJC\n"
|
||||
"pXC+ZHP9yTmcznwFkbMbJ9cTwMVU1n+hguvyjIJHmmeGrpBuaiT4HwPgV6IZY3N2\n"
|
||||
"a05cOyYYE3I7h9fQs1MfZRK44rRiXycwb+HA4lwuFWTI7h5qdc/U\n"
|
||||
"-----END RSA PRIVATE KEY-----\n";
|
||||
|
||||
/* Certificate Authority cert */
|
||||
const char ca_cert_pem[] =
|
||||
"-----BEGIN CERTIFICATE-----\n"
|
||||
"MIIC6DCCAdKgAwIBAgIESHv2uDALBgkqhkiG9w0BAQUwFzEVMBMGA1UEAxMMdGVz\n"
|
||||
"dF9jYV9jZXJ0MB4XDTA4MDcxNTAxMDA0MFoXDTA5MDcxNTAxMDA0MFowFzEVMBMG\n"
|
||||
"A1UEAxMMdGVzdF9jYV9jZXJ0MIIBHzALBgkqhkiG9w0BAQEDggEOADCCAQkCggEA\n"
|
||||
"3vzPUd2yRjeHy9Yi22uX1vGnUPmB5zS+77/B9LubTqnNJ9eBjiMegQJsJWFQT/CW\n"
|
||||
"8FurYiSMXIuTBirZX7NO6/rlcqifdfKLotSUuXLu5DBvMLCvnQ73wCIdCJoVyJbR\n"
|
||||
"N0ExHsyGwCDCxaHuY8FlkIsfYo17SNmJNaMSUqdoAZoelmbqr9oVciRCQGgrmwEJ\n"
|
||||
"dPj7EAofWSudV77y85j5rV/t51eNy5liS2qXnoFEmeqTuBo11cSmRbv5dkCHbx+y\n"
|
||||
"ouLyZG39KxB0MZ124Na3qbUY41BPNj1XBljyAoHyY0J1iDqS0Zo+njEW6vRbmSMk\n"
|
||||
"rA1kH45+alN50X11mSgfoQIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud\n"
|
||||
"DwEB/wQFAwMHBAAwHQYDVR0OBBYEFB3x03+3Qa2SDwRF6RkNcjg9zRHJMAsGCSqG\n"
|
||||
"SIb3DQEBBQOCAQEAjPoKMve8aqtL8fFXfSkYwLJUwuTG4E4mX804O5dsdvOEWR2/\n"
|
||||
"UQm5IDiAZ3fnHE8zh0C1Kg+dWnCv0i1Q5CYZJ5sSY3tKikG5UBPVJGV1tT0vDfmJ\n"
|
||||
"X7b52y35eN8qe5DsdyDAcF2GNRBU8opkLkyXb8U095AQiCHzTPpiesZd5phJlMPm\n"
|
||||
"AJaB4VtHAykDMeKd7HJAeelRi/1dP8xsYNc1z67cSrkt2f+B0WAyuAUBBr1NdYmS\n"
|
||||
"duegptXCh8OeGEL/v6mbIWoszDbOjk/0zwsgW8BD/eXaZgPPEUtmHizYPIRPdeW1\n"
|
||||
"MSCwccjl/XjDkIoN8kKss4Ftt+Wyajjjxeh6YA==\n" "-----END CERTIFICATE-----\n";
|
||||
"-----BEGIN CERTIFICATE-----\n"
|
||||
"MIIC6DCCAdKgAwIBAgIESJ2sXDALBgkqhkiG9w0BAQUwFzEVMBMGA1UEAxMMdGVz\n"
|
||||
"dF9jYV9jZXJ0MB4XDTA4MDgwOTE0NDAyOFoXDTA5MDgwOTE0NDAyOFowFzEVMBMG\n"
|
||||
"A1UEAxMMdGVzdF9jYV9jZXJ0MIIBHzALBgkqhkiG9w0BAQEDggEOADCCAQkCggEA\n"
|
||||
"thkEJMVt/l06gPJQCfdMKJdYXdQZGSBkOroWGZfs0oYBcSU3JeszCWwDgzw5Ac4o\n"
|
||||
"2no9/P7FLVm6+zaIO9gexVi2p1fDhT1+6Lir7O6waS94vLdujxdJPGfakZTktRAA\n"
|
||||
"3MBbC1XuMYPYXZ6nUrRkmHLeG6Oj+L0U3iVq0ZjLYjekCmqVFXRaDmoLWkmxplKz\n"
|
||||
"6UyzUXmNlyU4EzLpek2NjTtEUxh0Te+wD4RivBhCPGr7PRlYJhjkTk1u75HP41yQ\n"
|
||||
"C6MnnfY3IALWwuabBQsreR0W0h17lB3YHdHKjP5xJfEeJPtb625+lHQpH4nfzGcn\n"
|
||||
"a/RFok6xRpjZu7mB3t7XGwIDAQABo0MwQTAPBgNVHRMBAf8EBTADAQH/MA8GA1Ud\n"
|
||||
"DwEB/wQFAwMHBAAwHQYDVR0OBBYEFGTWojUUrKbS/Uid9S3hPxmgKeaxMAsGCSqG\n"
|
||||
"SIb3DQEBBQOCAQEAWP1f/sfNsvA/oz7OJSBCsQxAnjrKMIXgbVnop+4bEWPxk4e9\n"
|
||||
"TETSk5MMXt2BfaCtaLZw19Zbqlh4ZFuVw+QC1GTa0xlagHiRgXU2DOvPT5+y+XUR\n"
|
||||
"TSy0Pqou7spgEkLcFxlXYlx3tpDu+Awmx9DBGHMCysVynnEzeBYW4woCfBG2UiVA\n"
|
||||
"iHVz6jBc4bBkylKVkA42GiroExuPc+W9qtHGuVX045R7gz78KK0CMIObdySbogBe\n"
|
||||
"gYZUbyVvPVHINEc929PoV12dHP7wrKnqPbiwb+h1SHui8bVinE+1JY3mRB1VGVTa\n"
|
||||
"rgvlVGs2S+Zq48XMs4aeLgHkGWFAIXbpX34HSw==\n"
|
||||
"-----END CERTIFICATE-----\n";
|
||||
|
||||
/* test server CA signed certificates */
|
||||
const char srv_signed_cert_pem[] =
|
||||
"-----BEGIN CERTIFICATE-----\n"
|
||||
"MIIDHzCCAgmgAwIBAgIESHv6kTALBgkqhkiG9w0BAQUwFzEVMBMGA1UEAxMMdGVz\n"
|
||||
"dF9jYV9jZXJ0MB4XDTA4MDcxNTAxMTcwNVoXDTA5MDcxNTAxMTcwNVowGzEZMBcG\n"
|
||||
"A1UEAxMQdGVzdF9zZXJ2ZXJfY2VydDCCAR8wCwYJKoZIhvcNAQEBA4IBDgAwggEJ\n"
|
||||
"AoIBAJIY2+Wn+TRHIJ92tpNvCIE6FOsGclRxOFJwK0T6k3SK68LwQ9PkQTTB/DJu\n"
|
||||
"+hU2u6w6lt1+Q8PHTDMLtnkEeXnxPn1uQZnnMEBcHAGY1U99iJh0At68AyoG7nkb\n"
|
||||
"AzgzxxjMom+dEhGEFHOg9JKmJp138RzIWcMN2l4pKIryiBUh5AWt/7uqtA+9fQMq\n"
|
||||
"nOeO8OU5FM3eKevl3VSZ6usptbePbUDNs5uEmG+PTR0bc2rYgGeC4+wExWcJ+CAq\n"
|
||||
"voNVPno//MoMeJjWgXqF4wTBFdfsewngkflwRDPuZuLsxVrKnIx6jsBKIMuhVuxT\n"
|
||||
"66vnEmuR34TUIzLlVPcJ5wmby2UCAwEAAaN2MHQwDAYDVR0TAQH/BAIwADATBgNV\n"
|
||||
"HSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8EBQMDByAAMB0GA1UdDgQWBBSHX75y\n"
|
||||
"gpEjstognUu4If50qWXQaDAfBgNVHSMEGDAWgBQd8dN/t0Gtkg8ERekZDXI4Pc0R\n"
|
||||
"yTALBgkqhkiG9w0BAQUDggEBAF56YMCdp0C88ZF9yaXJZ4PMuTpW83Mhg5Ar0a9H\n"
|
||||
"DasF58p8eeRLhsTJPi+NpFSMTujEabGS3+8l6Iu5F5stFgvbvnjLHdYu2Pjakos8\n"
|
||||
"NjZCCkuEmIO4PLd6h5ToOZf3ZXNHmFjRTtKHQKNrYizlHlgnEDcUbU4gB5KOg3jU\n"
|
||||
"rv/Mtar+5LRK7KvByswp26nRH1ijGV23sy9StK7tV/cJPe/UkxyUfSQwUmQzzWe6\n"
|
||||
"QGAQtppUjGabWXjuLuOUyiG5LReYC5ri7XZuVekCAfUHbOdPYTHPczvpKBnUyKIv\n"
|
||||
"BRKOarmNfNc3w5G7Ast3jNOE2JfiJ8+x9+rMWI01PlWVYvQ=\n"
|
||||
"-----END CERTIFICATE-----\n";
|
||||
"-----BEGIN CERTIFICATE-----\n"
|
||||
"MIIDBDCCAe6gAwIBAgIESJ2sXzALBgkqhkiG9w0BAQUwFzEVMBMGA1UEAxMMdGVz\n"
|
||||
"dF9jYV9jZXJ0MB4XDTA4MDgwOTE0NDAzMloXDTA5MDgwOTE0NDAzNVowADCCAR8w\n"
|
||||
"CwYJKoZIhvcNAQEBA4IBDgAwggEJAoIBAOb6G6WJrrNC48NSh5i4eT7J1BCqlMB4\n"
|
||||
"e0No+td/PQf+sPywbQToYGiPfOFfMyge1G6SyRpXavKbPwuw1BN183WoYzID5mtz\n"
|
||||
"shAOl/JRhdusScFijS3pITiNK4G5NLToCP4KZhqguqHUzEdanifSb/D4x54Rq/Tc\n"
|
||||
"A7oHGp0wjdWC/AMtGWv6v55xMe00ALZ1zDxCOi8nri9W7mLy+hyduETCq+1Y7uHl\n"
|
||||
"mqbAk8D7ruu0JtNU2N8WuJJcAtxgZhCCfIHTgAUWqepeRBM8cy8uu0tywgxcJiyt\n"
|
||||
"Uu1wXQHnnpWrr/9r6IfhjFpc9pr5giHBeM4KdlU49UsYgaS1tAZsDJcCAwEAAaN2\n"
|
||||
"MHQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHQ8BAf8E\n"
|
||||
"BQMDB6AAMB0GA1UdDgQWBBSxP229okDqlKyMCyg0cnzbf+eb4DAfBgNVHSMEGDAW\n"
|
||||
"gBRk1qI1FKym0v1InfUt4T8ZoCnmsTALBgkqhkiG9w0BAQUDggEBAEabY4FLsFQr\n"
|
||||
"PACNe3p5tU3hWvvQ9S1pRlfnc/z1o+k9NDWTHlNjXfVTl6/6cIKHA+r8SvRks27+\n"
|
||||
"lScfxFkiCi22YC7uPbn8fW1nWcsqEkK4e0TDekSUi1o6SDx6cU07kMpx3iKvpLs3\n"
|
||||
"5QiCFjivMjrY8pEFJIke/ucI8QuLVZLLUSdTHb9Ck128PtPKA4y2uZA/MmYS/OtR\n"
|
||||
"/UZN67pJ+BqcQBE5vNolWQTM+NxfMzb48IV9q32HRT4HErvUjLIWV0nwwedUSdDG\n"
|
||||
"63tr9jp0GF6b5Eum0MTVV/zbBxfyRFg+Q8xRn70zJlB/W7byaFq/95Rpfqjdnta2\n"
|
||||
"aO/omlvGHrI=\n"
|
||||
"-----END CERTIFICATE-----\n";
|
||||
|
||||
/* test server key */
|
||||
const char srv_signed_key_pem[] =
|
||||
"-----BEGIN RSA PRIVATE KEY-----\n"
|
||||
"MIIEpAIBAAKCAQEAkhjb5af5NEcgn3a2k28IgToU6wZyVHE4UnArRPqTdIrrwvBD\n"
|
||||
"0+RBNMH8Mm76FTa7rDqW3X5Dw8dMMwu2eQR5efE+fW5BmecwQFwcAZjVT32ImHQC\n"
|
||||
"3rwDKgbueRsDODPHGMyib50SEYQUc6D0kqYmnXfxHMhZww3aXikoivKIFSHkBa3/\n"
|
||||
"u6q0D719Ayqc547w5TkUzd4p6+XdVJnq6ym1t49tQM2zm4SYb49NHRtzatiAZ4Lj\n"
|
||||
"7ATFZwn4ICq+g1U+ej/8ygx4mNaBeoXjBMEV1+x7CeCR+XBEM+5m4uzFWsqcjHqO\n"
|
||||
"wEogy6FW7FPrq+cSa5HfhNQjMuVU9wnnCZvLZQIDAQABAoIBABISPh0FrocfZzMi\n"
|
||||
"YYoSGWi2sQCzTvAQAyn7UvbY0eWAC5KU2qb6nHA0sIfif0+hcgxnQOML68DrRYso\n"
|
||||
"3zzP52DEjPjB6x5o4OiNHC+8YmJPQlatPu+jLPcFXXkgdMD+cpmoMk2BDcuZ3VfC\n"
|
||||
"KI59O9iNjgcD50p/y6uLBsdNIbUPSMe8ONWT7f5DN/DqEL+3tVZaRAOL+C8iKYf4\n"
|
||||
"EPI5z6gOyL0aEpulbMKc0YoZZ2kDmu5IyMLgkF3DJV440Y/6IGan88ZSjk6i/d7f\n"
|
||||
"ciKVtzIIbr5ubbuGe3htphTpRP0aA5WuVTzHrKk83/u3hG1RFv1q/cRD28tVUIII\n"
|
||||
"0pcwLmECgYEAwMdaR5Y2NqBk/fOvU/oCDAQ6w8jmIa4zMxskvq9Pr753jhT13j+T\n"
|
||||
"eQ1A590PF4PPvGFTqJ2vl3kj6JT5dzu7mGKoJLFsnttpw+0NYUgp0waPPZx010pp\n"
|
||||
"QGeyQ/cPsZEZkCehh9c5CsfO1YpjKLV/wdpBQ2xAnkV5dfFmzlzLOTECgYEAwgJf\n"
|
||||
"gxlR9Jgv7Qg/6Prs+SarqT4xDsJKKbD7wH2jveGFXVnkYTPVstwLCAus4LaLFKZ9\n"
|
||||
"1POQDUgO24E1GzuL7mqSuvymdl5gZICfpkHstOAfpqep96pUv4aI9BY/g5l4Lvep\n"
|
||||
"9c52tgQGwz0qgBUJBi6AvzxqRkBsxrXjX2m7KHUCgYEAtjx94ohkTXWIouy2xFrl\n"
|
||||
"jnh9GNGUgyhK7Dfvn3bYjJkwKZc06dkNzvQxdD5r4t3PBhS3YgFWmYmB4X7a6NUF\n"
|
||||
"vMMekjlLJkziib1Q1bLDHuLni+WYKmEEaEbepRMrub8h/D0KnQBewwspQoJkxHn3\n"
|
||||
"AMkSwurVlwi0DkOa3N+pmTECgYBXyCUZN1qqtjVxJXttWiPg88tWD2q5B9XwmUC/\n"
|
||||
"rtlor+LdAzBffsmhXQiswkOdhVrWpCJpOS8jo0f9r6+su7ury5LKgkh7ZGZu8vfJ\n"
|
||||
"jSiiCoqnqFMyWWJxKllLP8nLLKSBc9P2AU4bOyUoL8PMIjhsEJx2asqXMM1G98OC\n"
|
||||
"R1/EhQKBgQCmSkabsj8u5iEScicyJU87/sVkRIRE0GhjU8uuvcTe+dRiHuj2CENx\n"
|
||||
"hh967E0nUCiJzx3is0/nYByDles9W4BLEA8JSuM5r6E7UifHR4XwIi2tQcNhCWIu\n"
|
||||
"vGbfvxwqcm7Uj3XHb1GbYK5nnaRNailoJ7iyqHWxB1Q3iFIiMipcfg==\n"
|
||||
"-----END RSA PRIVATE KEY-----\n";
|
||||
"-----BEGIN RSA PRIVATE KEY-----\n"
|
||||
"MIIEowIBAAKCAQEA5vobpYmus0Ljw1KHmLh5PsnUEKqUwHh7Q2j61389B/6w/LBt\n"
|
||||
"BOhgaI984V8zKB7UbpLJGldq8ps/C7DUE3XzdahjMgPma3OyEA6X8lGF26xJwWKN\n"
|
||||
"LekhOI0rgbk0tOgI/gpmGqC6odTMR1qeJ9Jv8PjHnhGr9NwDugcanTCN1YL8Ay0Z\n"
|
||||
"a/q/nnEx7TQAtnXMPEI6LyeuL1buYvL6HJ24RMKr7Vju4eWapsCTwPuu67Qm01TY\n"
|
||||
"3xa4klwC3GBmEIJ8gdOABRap6l5EEzxzLy67S3LCDFwmLK1S7XBdAeeelauv/2vo\n"
|
||||
"h+GMWlz2mvmCIcF4zgp2VTj1SxiBpLW0BmwMlwIDAQABAoIBACJGvGKQ74V3qDAc\n"
|
||||
"p7WwroF0Vw2QGtoDJxumUQ84uRheIeqlzc/cIi5yGLCjPYa3KIQuMTzA+0R8aFs2\n"
|
||||
"RwqKRvJPZkUOUhvhA+whFkhl86zZQOq7UsMc5Qqs3Gd4UguEoYz9gxBxiLCqURRH\n"
|
||||
"rM+xCV6jtI/PBIsmOUFae4cXJP0pljUXyYmwwb/WrsvnJXf9Gz8/VLZGBMchMH7R\n"
|
||||
"MwD7xdwc/ht2XfZ0TuDntpJDtj0JrW9i/Cxt8PnNhQjgLsAe+oUUZt7Bo+vXBxhu\n"
|
||||
"JPKj6BHcj768l+gDn5zzaXKq0eF7mMXc7fgAp0u8lJkC0LxLq/WmIfqw4Z4mEjkX\n"
|
||||
"DremIoUCgYEA53vX9Hd8V85hCfeaTDf3B5q6g9kIliR+Y2tX2aSqN06df9J/KOdL\n"
|
||||
"G/lEQn4rsOOtOwyTU2luPmcr0XgbXA1T1kj56+UZrxtRducsdsVbVixzD2KswtJO\n"
|
||||
"wUH6XAJNdpI++64TuZadnKAaKiqim7CPzQYrBXYKKRFGSDd50urkTRMCgYEA/3CG\n"
|
||||
"NMaG3qtzQceQUw7BBAhey387MR+1FUQHQ7xoq2jc3yAx4H2NEyGa6wL5CtFKn5In\n"
|
||||
"BP6f30sk2ilXRv5pbIIiS8Xzngxy3m17GH33YrSc3ff/u+LWgR/EOVpa9F+sMAjp\n"
|
||||
"ohDgI8iH8GtahrRA0BxQKfNIo2zUTqNwFP88xu0CgYADOY1zoWqBCqX9bo6euzTc\n"
|
||||
"zUIF7jMZbF66Yddyd8HLTXQSQMt2tWotdJaH2pwfNbzHEtDGm7RmeCd7HpI7ARCG\n"
|
||||
"7rNUnvdxog7LekL7UJqKI8pij3xapnVkadfkCkAsA7OO7AjoT/nYIb7bkYZ8ZsRK\n"
|
||||
"FejphZB0rAHvpZ4z2wPdMwKBgQCfkr70RzVH81lcNXwutt/TUhtOCxyCMqmgMFBN\n"
|
||||
"e2zz791TMjyWXjh8RBkQSVok7NwuVVI055AeIUZTV1IjkplvZNhh97aZ/HLiCwjE\n"
|
||||
"IyUhL21zqRLEYA/auGqP3adGVGIv29GAIgSztfleMuJplj+LArT9j/LHzRvQSH+j\n"
|
||||
"TlO8fQKBgE5og4pTfPrD0A7W/Li1HDGf8Ylb+DZlxoyMriW82Z/zCBvYvn1UvQRi\n"
|
||||
"b8f3IQFXuXdf3Bx4C91kQJPovxDp14FOHJxO7F32fGMnJaU2kyp4sf4WAJZZOLnd\n"
|
||||
"l64hMUsgYPI8qfsanAudD4gTAsLEP+ueWqkcb3SJNLSoQAtcGzYs\n"
|
||||
"-----END RSA PRIVATE KEY-----\n";
|
||||
|
||||
/* test server self signed certificates */
|
||||
const char srv_self_signed_cert_pem[] =
|
||||
|
||||
Reference in new issue
Block a user