Selaa lähdekoodia

add sertificate for ssl (settings)

balbekova 7 vuotta sitten
vanhempi
commit
62315d7c9e

+ 122 - 4
modules/HTTP_Server/http_server.c

@@ -986,6 +986,7 @@ void HTTP_UPSshutdown(char *bufIn, char *bufOut, uint16_t lenBufIn, uint16_t *le
 	  }
 }
 
+
 /**
   * @brief  Проверка пароля для перехода в режим bootloader
   * @retval None
@@ -1284,6 +1285,39 @@ uint8_t GetCookieValue(char *inStr, char *paramName, char *paramValue, uint8_t *
   }
 }
 
+char* Parce_Boundary(const char* data, uint32_t len, char* dst, uint8_t dstlen) {
+    char *ptr = NULL;
+    char *boundary = NULL;
+    uint8_t i = 0;
+
+    for (uint32_t j = 0; j < len; j++) {
+        if (strncmp ((char*)(data + j), "boundary=", 9) == 0) {
+            boundary = (char*)data + j + 9;
+            break;
+        }
+    }
+
+    if (!boundary) return NULL;
+
+    *dst++ = '-';
+    *dst++ = '-';
+
+    ptr = boundary;
+    while ((*ptr != 0x0d) && (i < dstlen - 4))
+    {
+        *dst++ = *ptr++;
+        i++;
+    }
+    //*dst++ = '-';
+    //*dst++ = '-';
+    *dst = '\0';
+
+    if (i > 0)
+        return boundary;
+    else
+        return NULL;
+}
+
 /**
   * @brief
   * @retval None
@@ -1739,20 +1773,20 @@ void ssl_server(void *pvParameters)
     // Instead, you may want to use x509parse_crtfile() to read the
     // server and CA certificates, as well as x509parse_keyfile().
  
-    ret = x509parse_crt(&srvcert, (unsigned char *) test_srv_crt, strlen(test_srv_crt));
+    ret = x509parse_crt(&srvcert, sSettings.our_srv_crt, strlen(sSettings.our_srv_crt));//(unsigned char *) test_srv_crt
     if(ret != 0)
     {
         //printf(" failed\n  !  x509parse_crt returned %d\n\r", ret);
         goto exit;
     }
-    ret = x509parse_crt(&srvcert, (unsigned char *) test_ca_crt, strlen(test_ca_crt));
+  /*  ret = x509parse_crt(&srvcert, (unsigned char *) test_ca_crt, strlen(test_ca_crt));
     if(ret != 0)
     {
         //printf(" failed\n  !  x509parse_crt returned %d\n\r", ret);
         goto exit;
-    }
+    }*/
     rsa_init( &rsa, RSA_PKCS_V15, 0 );
-    ret =  x509parse_key(&rsa, (unsigned char *) test_srv_key, strlen(test_srv_key), NULL, 0);
+    ret =  x509parse_key(&rsa, (unsigned char *) test_srv_key, strlen(test_srv_key), NULL, 0);//
     if( ret != 0 )
     {
         //printf(" failed\n  !  x509parse_key returned %d\n\r", ret);
@@ -2159,6 +2193,90 @@ void ssl_server(void *pvParameters)
                     }
                 }  
             } 
+            else if (strncmp(receiveBuf, "POST /srv_crt_upload.cgi", 24) == 0)
+            {
+            	static char boundary[70];
+            	static char boundary_buf[70];
+            	static char *pbound = NULL;
+            	char* ContentOffset = 0;
+            	DataOffset = 0;
+            	TotalData = 0;
+            	memset(sendBuf, 0, sizeof(sendBuf));
+            	//printf("receive %s \r\n", receiveBuf);
+            	/* parse packet for Content-length field */
+				  size = Parse_Content_Length(receiveBuf, receivedBufLen);
+				  pbound = Parce_Boundary(receiveBuf, receivedBufLen, boundary, sizeof(boundary));
+				  if (pbound != NULL) {
+					  ContentOffset = strstr(receiveBuf, boundary);
+					  //ContentOffset += 4;
+					  DataOffset = strstr(ContentOffset, "\r\n\r\n");
+					  if( DataOffset != NULL )
+						  DataOffset += 4;
+				  }
+
+				/* case of MSIE8 : we do not receive data in the POST packet*/
+				if (DataOffset == NULL)
+				{
+					ssl_server_read();
+					receiveBuf[receivedBufLen] = '\0';
+				//	printf("receive2 %s \r\n", receiveBuf);
+					if (pbound != NULL) {
+					  ContentOffset = strstr(receiveBuf, boundary);
+					 // ContentOffset += 4;
+					  DataOffset = strstr(ContentOffset, "\r\n\r\n");
+					  if( DataOffset != NULL )
+						  DataOffset += 4;
+					}
+				}
+
+				TotalReceived = receivedBufLen - (uint32_t)(ContentOffset - receiveBuf);
+
+				TotalData += TotalReceived;
+
+				strncat(sendBuf,  DataOffset, TotalReceived);
+
+				//for(i  = TotalData; i < size; i ++)
+				while(TotalData < size)
+				{
+					ssl_server_read();
+					receiveBuf[receivedBufLen] = '\0';
+					//printf("receive3 %s \r\n", receiveBuf);
+
+					strncat(sendBuf,  receiveBuf, receivedBufLen);
+					TotalData += receivedBufLen;
+					//printf("TotalData %d \r\n", TotalData);
+					/*printf("receivedBufLen %d \r\n", receivedBufLen);
+					printf("TotalData %d \r\n", TotalData);
+					printf("size %d \r\n", size);
+					printf("receive3 %s \r\n", (receiveBuf+receivedBufLen - 30));*/
+				}
+			//	printf("TotalData %d \r\n", TotalData);
+				// check if last data packet
+				if (TotalData == size)
+				{
+					printf("receive %s \r\n", sendBuf);
+					if(strstr(sendBuf, "BEGIN CERTIFICATE") != NULL){
+
+						DataOffset = strstr(sendBuf, "-----END CERTIFICATE");
+						uint32_t len_crt = (uint32_t)(DataOffset - sendBuf) + 25;
+						memset(sSettings.our_srv_crt, 0, sizeof(sSettings.our_srv_crt));
+						memcpy(sSettings.our_srv_crt, sendBuf, len_crt);
+						strcat(sendBuf,  "\r\n");
+						HTTP_SaveSettings();
+
+						memset(sendBuf, 0, sizeof(sendBuf));
+						 strcpy(sendBuf, "HTTP/1.1 200 OK\r\n\r\n");
+						 strcat(sendBuf,"1");
+					}
+					else{
+						memset(sendBuf, 0, sizeof(sendBuf));
+						 strcpy(sendBuf, "HTTP/1.1 200 OK\r\n\r\n");
+						 strcat(sendBuf,"Некорректный сертефикат");
+					}
+					ssl_sendframes(&ssl, sendBuf, strlen(sendBuf));
+				}
+
+            }
             else if (strncmp(receiveBuf, "GET /info.cgi", 13) == 0) // +
             {
                 if (HTTP_InfoPage(receiveBuf, sendBuf, receivedBufLen, &sendBufLoadLen) == SEND_REQUIRED_YES)

+ 13 - 0
modules/settings_api.c

@@ -25,6 +25,7 @@
 #include "semphr.h"
 #include "main.h"
 
+
 #include <string.h>
 #include <stdlib.h>
 #ifdef PRINTF_STDLIB
@@ -196,6 +197,15 @@ void SETTINGS_SetRADIUSDef(void)
   sSettings.sRADIUS.key_access = 123;
   strcpy(sSettings.sRADIUS.rds_password, "R02ekR4MP2");
 }
+
+/**
+  * @brief  Установить параметры сертификата сервера по умолчанию
+  */
+void SETTINGS_SetSSLcrtDef(void){
+	memset(sSettings.our_srv_crt, 0, sizeof(sSettings.our_srv_crt));
+	memcpy(sSettings.our_srv_crt, (unsigned char *) test_srv_crt, strlen(test_srv_crt));
+	//memcpy(sSettings.our_srv_key, (unsigned char *) test_srv_key, strlen(test_srv_key));
+}
   
 /**
   * @brief  Сброс настроек в значения по умолчанию
@@ -209,6 +219,7 @@ void SETTINGS_SetDefault(void)
   SETTINGS_SetSntpDef();
   SETTINGS_SetINOUTSDef();
   SETTINGS_SetRADIUSDef();
+  SETTINGS_SetSSLcrtDef();
 
   sSettings.CritSecCRC = SETTINGS_GetCritSecCRC();
 }
@@ -246,6 +257,7 @@ void SETTINGS_SetAllDefault(void)
   SETTINGS_SetSntpDef();
   SETTINGS_SetINOUTSDef();
   SETTINGS_SetRADIUSDef();
+  SETTINGS_SetSSLcrtDef();
   
   sSettings.CritSecCRC = SETTINGS_GetCritSecCRC();
 
@@ -267,6 +279,7 @@ void SETTINGS_SetDefaultDebug(void)
   SETTINGS_SetINOUTSDef();
   SETTINGS_SetRADIUSDef();
   //SETTINGS_SetInfoDef();
+  SETTINGS_SetSSLcrtDef();
   
   sSettings.CritSecCRC = SETTINGS_GetCritSecCRC();
 

+ 7 - 0
modules/settings_api.h

@@ -192,6 +192,8 @@ typedef struct
   SNTP_t        sSNTP;
   INOUTS_t		sInOuts;
   RADIUS_t		sRADIUS;
+  char			our_srv_crt[1205];
+//  char			our_srv_key[1705];
   uint32_t      controlWorld;  // Слово для контроля целостности структуры настроек
   
 } SETTINGS_t;
@@ -247,6 +249,11 @@ void SETTINGS_SetINOUTSDef(void);
   */
 void SETTINGS_SetRADIUSDef(void);
 
+/**
+  * @brief  Установить параметры сертификата сервера по умолчанию
+  */
+void SETTINGS_SetSSLcrtDef(void);
+
 /**
   * @brief  Установить значение сервисных настроек по умолчанию
   */

+ 6 - 1
service_hw/Makefile

@@ -102,9 +102,14 @@ CSRC += $(wildcard ../thirdparty/FreeRTOS/portable/MemMang/heap_4.c)
   	CSRC += $(wildcard ../modules/STM32F4x7_ETH_Driver/*.c)
     
 CSRC += $(wildcard ../stm32/system/syscalls/syscalls.c)
+
+#SSL
+INCLUDES += -I../thirdparty/PolarSSL/include/
+
+CSRC += $(wildcard ../thirdparty/PolarSSL/library/*.c)
     
     
-CFLAGS += -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DLOG_ENABLE
+CFLAGS += -DUSE_STDPERIPH_DRIVER -DSTM32F40_41xxx -DLOG_ENABLE -DPOLARSSL_CERTS_C
 
 BUILDDIR = ../build/bt6702_service/$(TARGET)
 

+ 3 - 0
service_hw/User/main.h

@@ -31,6 +31,9 @@
 #include "stm32f4xx.h"
 #include "stm32f4x7_eth_bsp.h"
 
+#include "polarssl/certs.h"
+
+
 
 /* MII and RMII mode selection, for STM324xG-EVAL Board(MB786) RevB ***********/
 #define RMII_MODE

+ 77 - 2
thirdparty/PolarSSL/library/certs.c

@@ -26,7 +26,7 @@
 #include "config.h"
 
 #if defined(POLARSSL_CERTS_C)
-
+/*
 const char test_ca_crt[] =
 "-----BEGIN CERTIFICATE-----\r\n"
 "MIIDhzCCAm+gAwIBAgIBADANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER\r\n"
@@ -48,6 +48,29 @@ const char test_ca_crt[] =
 "pjmfs2cb4oPl4Y9T9meTx/lvdkRYEug61Jfn6cA+qHpyPYdTH+UshITnmp5/Ztkf\r\n"
 "m/UTSLBNFNHesiTZeH31NcxYGdHSme9Nc/gfidRa0FLOCfWxRlFqAI47zG9jAQCZ\r\n"
 "7Z2mCGDNMhjQc+BYcdnl0lPXjdDK6V0qCg1dVewhUBcW5gZKzV7e9+DpVA==\r\n"
+"-----END CERTIFICATE-----\r\n";*/
+
+const char test_ca_crt[] =
+"-----BEGIN CERTIFICATE-----\r\n"
+"MIIDiTCCAnGgAwIBAgIJAIWQdNByVKaTMA0GCSqGSIb3DQEBCwUAMFsxCzAJBgNV\r\n"
+"BAYTAlJVMQ8wDQYDVQQIDAZNb3Njb3cxDzANBgNVBAcMBk1vc2NvdzEOMAwGA1UE\r\n"
+"CgwFUm90ZWsxCzAJBgNVBAsMAm1hMQ0wCwYDVQQDDARrYXRlMB4XDTE3MDgwMjE1\r\n"
+"MTMyMloXDTQ0MTIxODE1MTMyMlowWzELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1v\r\n"
+"c2NvdzEPMA0GA1UEBwwGTW9zY293MQ4wDAYDVQQKDAVSb3RlazELMAkGA1UECwwC\r\n"
+"bWExDTALBgNVBAMMBGthdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\r\n"
+"AQC/XUKinQpaN3iBfiqfyR5iK5Fdf3v1gkrvtf/7CBDjNtgSZFiOh6KSeUGSnWi9\r\n"
+"emNQubwE/u08gM69S3/QSIoC7NHgmNYx2BMnHqyJ2qN9G+dtzh08pinJd0gp087t\r\n"
+"oSl9YPT08F6fmfOfBbLKg4gx/wadMC4fuvlwJD+nY9xsj1fMdYwgVy/+OEIm6QnG\r\n"
+"brSnw3dzmHuvqOo2UgwT4rH6M5jk9hxtLSHyjnF8ZcN5Cm0/1KuZOoc+E67+0MFA\r\n"
+"MFhrW+NC8YoySSkl2jzBI7arVi93QyzFxd1zvyPUyc4X4fB+Wyx4z+6Cq0RQa0Ny\r\n"
+"nxEEKncTDx7AtKFuY3TK29dpAgMBAAGjUDBOMB0GA1UdDgQWBBSRpUuM5ZuH2KN5\r\n"
+"f8GLNeW9hnDf7zAfBgNVHSMEGDAWgBSRpUuM5ZuH2KN5f8GLNeW9hnDf7zAMBgNV\r\n"
+"HRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAS2DEOR1G9v62f0+D7ENQINyWm\r\n"
+"Rzn9m4U8GYM6V5vLBJJHo+X5K12EPgTbWIvvzoeInvekPA6/O6YNuD94Y16/dpBU\r\n"
+"i0ohqoILAVBmDq0CiH8diQz3PJsShjY7ObES7jNj69f0sw0+gqJfCjhwvpBiTZ4h\r\n"
+"D9i7VH8B1DQghS+bj1AWeUS8vQrPJiaApaWzHBD5Uj3SE1R0VpPwQbH8o4ut9Y2O\r\n"
+"P67/H59u0jgBKVHMy4sBlkOjDD9d5+oJ+C5QOYwjH55kuuCh03Z+Jf+KK0nv5n2n\r\n"
+"OXOXE29mEzPj8y38mTA6BL45Iufw+LUGqracCuBszcz4aiyWPo7lQHKrAHqy\r\n"
 "-----END CERTIFICATE-----\r\n";
 
 const char test_ca_key[] =
@@ -84,7 +107,7 @@ const char test_ca_key[] =
 
 const char test_ca_pwd[] = "PolarSSLTest";
 
-const char test_srv_crt[] =
+/*const char test_srv_crt[] =
 "-----BEGIN CERTIFICATE-----\r\n"
 "MIIDPzCCAiegAwIBAgIBATANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER\r\n"
 "MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN\r\n"
@@ -104,8 +127,31 @@ const char test_srv_crt[] =
 "E5VeM5pV1Mci2ETOJau2cO40FJvI/C9W/wR+GAArMaw2fxG77E3laaa0LAOlexM6\r\n"
 "A4KOb5f5cGTM5Ih6tEF5FVq3/9vzNIYMa1FqzacBLZF8zSHYLEimXBdzjBoN4qDU\r\n"
 "/WzRyYRBRjAI49mzHX6raleqnw==\r\n"
+"-----END CERTIFICATE-----\r\n";*/
+
+const char test_srv_crt[] =
+"-----BEGIN CERTIFICATE-----\r\n"
+"MIIDPjCCAiYCCQDwZ+UdnJyNSzANBgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJS\r\n"
+"VTEPMA0GA1UECAwGTW9zY293MQ8wDQYDVQQHDAZNb3Njb3cxDjAMBgNVBAoMBVJv\r\n"
+"dGVrMQswCQYDVQQLDAJtYTENMAsGA1UEAwwEa2F0ZTAeFw0xNzA4MDIxNTE4MzNa\r\n"
+"Fw0zMTA0MTExNTE4MzNaMGcxCzAJBgNVBAYTAlJVMQ8wDQYDVQQIDAZNb3Njb3cx\r\n"
+"DzANBgNVBAcMBk1vc2NvdzEOMAwGA1UECgwFUm90ZWsxDjAMBgNVBAsMBXJvdGVr\r\n"
+"MRYwFAYDVQQDDA0xOTIuMTY4LjE0Ljc2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\r\n"
+"MIIBCgKCAQEAqDtsMg7c+iOS5r6gLP+h6LRpu7Tgjgkb4fL6+1Gclso7rW0WnieE\r\n"
+"tWO0FqB0C1hQL8adCjfkw9t3BY999iIV/dldlpiWgNCxXE5Rvq25hV6Wit7S68CA\r\n"
+"YqxDWQwqGQ+ckJ3+4M95jRV4htT0DLNUseU4f7kPI+/HumqUcoV27tzoIjEvxeoP\r\n"
+"5QfU67Di63w93C7ajgNvrRI/QQUm6HDTqGgZKIIVeWu67DuBqvI7cKKfBXtGl0nz\r\n"
+"PK+nQ3unZYgbk2SNdaITNhUskWeMEPWSEdLoshgdkqEFDaE5pAbD0fdZVWa6+lhw\r\n"
+"hsG0/1Vmu87LkA63nktfSb8AivkL0Y6/kwIDAQABMA0GCSqGSIb3DQEBCwUAA4IB\r\n"
+"AQBq4AiaFRCiokKKihvSo35PnvTi+ePXxL+nAWZXuMuXYg4BowJDF0IvnL+YPMaC\r\n"
+"AlYqY+YYDyLJXhJHmHM+hXLbgn8AGkbI6vLXckOH2G7fLPk/mhosRRW3E0lcSIqz\r\n"
+"HkjYTsyr5UX6URh4I8PVoPATjW8+BDJ2xmUP/8NR2TB6RTVol2oyRcx5P9W42E82\r\n"
+"5+bbkgswmP9Lal5pm50sKdQCdfvJbka8clyyprs4TCg0+AhKK4suZJdRhDJsRktl\r\n"
+"X1bzKo+ZYY94a8uwOQjPiOFGhJHQsvco20MeOAm3QattFybmN46EbprPqgAvia4l\r\n"
+"RfENNoQyvaSvlpyL2d+DYs7F\r\n"
 "-----END CERTIFICATE-----\r\n";
 
+/*
 const char test_srv_key[] =
 "-----BEGIN RSA PRIVATE KEY-----\r\n"
 "MIIEogIBAAKCAQEAqQIfPUBq1VVTi/027oJlLhVhXom/uOhFkNvuiBZS0/FDUEeW\r\n"
@@ -134,6 +180,35 @@ const char test_srv_key[] =
 "ectoPOgZbCmm/iiDmigu703ld3O+VoCLDD4qx3R+KyALL78gtVJYzSRiKhzgCZ3g\r\n"
 "mKsIVRBq4IfwiwyMNG2BYZQAwbSDjjPtn/kPBduPzPj7eriByhI=\r\n"
 "-----END RSA PRIVATE KEY-----\r\n";
+*/
+const char test_srv_key[] =
+"-----BEGIN RSA PRIVATE KEY-----\r\n"
+"MIIEoQIBAAKCAQEAqDtsMg7c+iOS5r6gLP+h6LRpu7Tgjgkb4fL6+1Gclso7rW0W\r\n"
+"nieEtWO0FqB0C1hQL8adCjfkw9t3BY999iIV/dldlpiWgNCxXE5Rvq25hV6Wit7S\r\n"
+"68CAYqxDWQwqGQ+ckJ3+4M95jRV4htT0DLNUseU4f7kPI+/HumqUcoV27tzoIjEv\r\n"
+"xeoP5QfU67Di63w93C7ajgNvrRI/QQUm6HDTqGgZKIIVeWu67DuBqvI7cKKfBXtG\r\n"
+"l0nzPK+nQ3unZYgbk2SNdaITNhUskWeMEPWSEdLoshgdkqEFDaE5pAbD0fdZVWa6\r\n"
+"+lhwhsG0/1Vmu87LkA63nktfSb8AivkL0Y6/kwIDAQABAoIBAAacJxkkalxNr4Tv\r\n"
+"cn2yIZtyE0FzzurlwrmzAVeEkmF+Wq/qvFvEc7toynelIEod0zC9Xgg7v/pOEjQe\r\n"
+"ujVEi5aoxruXDTrMeFuHHEEgtExgNgwIy0LGEoVN/WtvRewsJ9uqyYvtuvnnIRAz\r\n"
+"J8+j8Cz5M6oZDFY+IpvZejGxusWRyiI42EmPIIECsDN0goeHN+XQ9I6ojJnK36L/\r\n"
+"CWf0Y5HwVFbECS81qBfEAihMGQJY9F/SLq0pz0tRgFqu1kPepTQLFHzBfnM0bZpV\r\n"
+"R2ILHqGOstN4zioL04dprjR80rwcrqr76XNf9xQ6+XD5nnkY9GL7i/IP7H+RdM4r\r\n"
+"Xq1T4TECgYEA0LYYJHee7ttqlt51N0WERjnyJEvlNlpRZgANvOFdMydR6q5FYSu5\r\n"
+"sXzLAHfiZZKsUCAVRh598zImXvqGL17rTozov8jMth29tqXlVJAeaFG1Dbze1p3+\r\n"
+"6VAbmPmviW+51E7vYkd+ohsdiZKc0s/YI5cFU8S9a9AEKzzrcrXtBwkCgYEAzllo\r\n"
+"02SfB/h+zLOWVz01Kog0UuETdgiKbLPs73JeVjTxXpYJaOuvhXdh/1Rw1h78GiCy\r\n"
+"AbrcdT3bIq/WQcXmj7c4PwcByGWAcJM82gTRIYfpuPCv6xvN/mNtzi6QLBL2jrOx\r\n"
+"dmVc/gWiNsNoNDX8rCeSGKEyoU7JNiy7GMpAvLsCfwGhao7eYF99V1fWZRQJdv8V\r\n"
+"dM7TyPajvf8OAQ14tUGxDPLIacJYlRrN3sgiJ6KjgrUdiw0BL/q2aZZUXrgABdaX\r\n"
+"Qzo8V10U3maO5TvD5HjsKn3w+8yxb0xjU9PeH4DzXoBKHZSm+lZJ3/EzNAZxmT6t\r\n"
+"71y4LMKq3V15HF3JDhECgYBjHu3MxcPit0ppmEa6h0tXr++6dCW+CCI+TzucVcrd\r\n"
+"DDd5oQbKIJTCvvMTDIPbRy0Ae/4l+JXXt6vhAKgiFidHl9Jr7Di+A4vsB74uWCwB\r\n"
+"OGFcFjna7RNJhIeFiDZ3BXDsYYL4hX5jA1/FgJ44nkpOg/+Y1y4T8F2VKW2CXf00\r\n"
+"6wKBgQDCFssxwe2Z/3jIKrenqKd6yLxEz/1XyEHksRDQuLz8oavSQzda8xN0EZm5\r\n"
+"xczOyxGoXUkT33K8KvNMQSSYrtw34sf1+mJCCW6Bvs9df6uZikUS4i6udpAoaa7X\r\n"
+"8Xfgyw/TJJ/Y/LV2iuQNKvXPRLvNUqLktjYZZ4cNlLq7gchvfw==\r\n"
+"-----END RSA PRIVATE KEY-----\r\n";
 
 const char test_cli_crt[] =
 "-----BEGIN CERTIFICATE-----\r\n"

+ 2 - 4
user/init_task.c

@@ -139,22 +139,20 @@ void InitTask(void *params)
   LwIP_Init();
   
 #ifdef WEB_SERVER_ENABLE
-/*  
   if(strncmp(sSettings.sFlags.testState, "T2OK", 4)){
 
 	  HTTP_Init();
   	  xTaskCreate(vTaskTesting, "Testing", 2*configMINIMAL_STACK_SIZE,
                 NULL, tskIDLE_PRIORITY, NULL);
     }
-*/  
-//  else{
+  else{
 	   HTTPS_Init();
 #define SSL_TASK_PRIO   ( configMAX_PRIORITIES - 3 )
 	   xTaskCreate(ssl_server, "SSL", 10*configMINIMAL_STACK_SIZE, NULL, SSL_TASK_PRIO, NULL);
 #endif
 	   // UDP for net settings 
 	   UDP_netsetting_init();
-//  }
+  }
 
 
 #ifdef SNMP_ENABLE

+ 1 - 0
user/main.h

@@ -39,6 +39,7 @@
 #include <stdbool.h>
 #include <string.h>
 
+#include "polarssl/certs.h"
 
 /* MII and RMII mode selection, for STM324xG-EVAL Board(MB786) RevB ***********/
 #define RMII_MODE