浏览代码

解决web加密访问

guohui 1 年之前
父节点
当前提交
346fcc51e5
共有 6 个文件被更改,包括 31 次插入 和 53 次删除
  1. 11 14
      cust_data/cert/server.crt
  2. 0 11
      cust_data/cert/server.csr
  3. 5 18
      cust_data/cert/server.key
  4. 8 3
      cust_data/cert/ssl.sh
  5. 6 6
      pro/src/appweb_handle.c
  6. 1 1
      pub

+ 11 - 14
cust_data/cert/server.crt

@@ -1,16 +1,13 @@
 -----BEGIN CERTIFICATE-----
-MIICgDCCAemgAwIBAgIUKBwURGN9664A+yq/Lg5/yTeDUkMwDQYJKoZIhvcNAQEL
-BQAwUjELMAkGA1UEBhMCY24xCzAJBgNVBAgMAnNjMQswCQYDVQQHDAJjZDELMAkG
-A1UECgwCZ3cxCzAJBgNVBAsMAmd3MQ8wDQYDVQQDDAZnb3dvbmUwHhcNMjQxMDE0
-MTEwMDAyWhcNMjcwODA0MTEwMDAyWjBSMQswCQYDVQQGEwJjbjELMAkGA1UECAwC
-c2MxCzAJBgNVBAcMAmNkMQswCQYDVQQKDAJndzELMAkGA1UECwwCZ3cxDzANBgNV
-BAMMBmdvd29uZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4wBM6vK3sWes
-4DAHqZ7qrVVr/I0mXxaEtVT83zXIKwNoPZBGdy5b9QlcN5nTaP+g91+UkoDCBj9Q
-yQwpDk0vKthY/wfWujJN20Hu0/X2mG++zvElB4T0dEiqMxGxM8DQwjoi/vDwMUFR
-3SNAxzIZBiUzaTJU3zCnUhArosIszHsCAwEAAaNTMFEwHQYDVR0OBBYEFCVUiy6a
-k46pzQKf0rNG40vpU7oIMB8GA1UdIwQYMBaAFCVUiy6ak46pzQKf0rNG40vpU7oI
-MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADgYEAjZGgqmlLCfg+vU3T
-IRbWCvP8x9hXUZTNvj/5nP+woPT+aIK8Wi0HwyoF1z1Eoubxx/cFWUsN4QAKMoeq
-Z1ZqwFtsn/nvBf13mmpBpboyn57r0MdAy68q3quVswbmNXCQXHRWVKlo7WChqFrG
-y17l/WUyBVQ5s9aoWuhQwebZFKk=
+MIIB3TCCAYSgAwIBAgITCaRLi0+MGlvZT1fmT5PvUM7j5jAKBggqhkjOPQQDAjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMB4XDTI0MTAxNjA4MjgwMloXDTI0MTExNTA4
+MjgwMlowRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNV
+BAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDBZMBMGByqGSM49AgEGCCqGSM49
+AwEHA0IABIj6h92EtlO1oIQxxk4tV7PnoI5PBV12kD9nP3T7uflMAIFDsm3vU+GH
+sz4ZCzO0nc5tAT+oLFLlxe3yl0He7ymjUzBRMB0GA1UdDgQWBBQnETpe6UTcjbE2
+ZTh3vQDKYmwEYjAfBgNVHSMEGDAWgBQnETpe6UTcjbE2ZTh3vQDKYmwEYjAPBgNV
+HRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0cAMEQCIC4AWo6oOAgStOj5HdRP3X/A
+EuMLiC73WNWInJn9/aluAiByAVJk9vFHfc7N5ZvE03QEM9cgmFcDlRC44btigSlz
+9g==
 -----END CERTIFICATE-----

+ 0 - 11
cust_data/cert/server.csr

@@ -1,11 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIIBkTCB+wIBADBSMQswCQYDVQQGEwJjbjELMAkGA1UECAwCc2MxCzAJBgNVBAcM
-AmNkMQswCQYDVQQKDAJndzELMAkGA1UECwwCZ3cxDzANBgNVBAMMBmdvd29uZTCB
-nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4wBM6vK3sWes4DAHqZ7qrVVr/I0m
-XxaEtVT83zXIKwNoPZBGdy5b9QlcN5nTaP+g91+UkoDCBj9QyQwpDk0vKthY/wfW
-ujJN20Hu0/X2mG++zvElB4T0dEiqMxGxM8DQwjoi/vDwMUFR3SNAxzIZBiUzaTJU
-3zCnUhArosIszHsCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4GBAEbvLin+ID58xNEf
-chPMWiVjfA1JETCWn1FW+MWjOQ6CgEi04YAUTB1yKGH6IA5SYINFwG4q/kTOWUF8
-zSMHSh5mIkCMNjqSnfBrQ/2xUMYXlAgZaHS91tnvQAKiX3xsaq0xd1uJ16O5vNak
-DXXdA3D5ogRr76nXRyHMyHUaNM2j
------END CERTIFICATE REQUEST-----

+ 5 - 18
cust_data/cert/server.key

@@ -1,18 +1,5 @@
------BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,7A8EF513DDD5D30B
-
-8k++2jEHbvlA+F/qBlDpoVX3/9QBEn1KMN3bxZBmRwHveTj/hMZ1UAFth3KF9Y+e
-4qTeOg1urtI0XneuC0z3DvXUMZnyY3SlVegguZnMDK7zfrmBU7MKqoANUQoLbpVA
-lXRc40NkN9FGLRwiL2bomshWFmbtzbDX52jBZQhftFtDuY8ECZRHZWajNmj+iOM8
-TvgCymXF8rrFvjCD/Fc56rn5bkVe1GgC7pz3SmY8jkhPfuLRva+bI3y1QxG4fLpF
-HHrMsEXteCjBxuo6gTX8trHRK2tZb+iS0Iya0PySt23rTOzaK3eArplq2QYFPo1w
-9PLzv4wt4x2KdJjY29eA46QrorJ7NFCji0RrXGH6eGNzE0eslzxdRHpXMdZUxqsV
-wsH/dCNNVe49LfCTDfJ2KLcXlW0evxkKquaWv1qc1Lae45euUOIkz0d28mctQ9CH
-AKGPZ3DLQKNn+/Lfh+oLfDUyIdc76CRycrQmZ3XU/O1h4arJM8EFJ+boTZ3tZ1Cg
-/KIsbbLi0Em+5ZV+2wSJbnakOp+5ZN0jvF5lrw7rdeVoGgcArLMm6I21dDtyOP7p
-J3HvNujIim1FuMioa6pCHiMiGNn8asaKREZNRKi4bpmucOTpZ3qbDCJoE6AecCcC
-wTTs/KiMRFyvV2BbNlIWuMwXPf4O3ZUZ4J0dM+Vj+xs7eELwrTTvE7tbkUgi+3rq
-GTl0TkPHmjazbfRzANIAvpeUrLGa3h7cLGXGlrhAV7vR/JfqkExoe998APjDTI2n
-Bu1M+RBZdB4qvQUmLVZcpWL2FKm/Xx9nI/WpZpyji2Cx2s8ziVkVDg==
------END RSA PRIVATE KEY-----
+-----BEGIN EC PRIVATE KEY-----
+MHcCAQEEIPZpADU5UVGfqwAaSDgCyiLDLMxx7byxTe7QFh3N7EmLoAoGCCqGSM49
+AwEHoUQDQgAEiPqH3YS2U7WghDHGTi1Xs+egjk8FXXaQP2c/dPu5+UwAgUOybe9T
+4YezPhkLM7Sdzm0BP6gsUuXF7fKXQd7vKQ==
+-----END EC PRIVATE KEY-----

+ 8 - 3
cust_data/cert/ssl.sh

@@ -1,5 +1,10 @@
 #!/bin/bash
 
-openssl genrsa -des3 -out server.key 1024
-openssl req -new -key server.key -out server.csr
-openssl req -x509 -days 1024 -key server.key -in server.csr > server.crt
+#openssl genrsa -des3 -out server.key 1024
+#openssl req -new -key server.key -out server.csr
+#openssl req -x509 -days 1024 -key server.key -in server.csr > server.crt
+
+
+openssl ecparam -name prime256v1 -genkey -noout -out server.key 
+openssl req -new -key server.key -x509 -nodes -out server.crt
+

+ 6 - 6
pro/src/appweb_handle.c

@@ -390,8 +390,7 @@ static void http_mg_cb(struct mg_connection *c, int ev, void *ev_data)
         
         for(i=0; i<h->cnt; i++) {
             if (h->fn[i].f && h->fn[i].uri && mg_match(hm->uri, mg_str(h->fn[i].uri), NULL)) {
-                h->fn[i].f(&s);
-                flag = 1;
+                h->fn[i].f(&s); flag = 1; break;
             }
         }
 
@@ -401,7 +400,7 @@ static void http_mg_cb(struct mg_connection *c, int ev, void *ev_data)
         }
     }
     else if(ev == MG_EV_ACCEPT) {
-        if (c->fn_data && c->is_tls) {
+        if (c->fn_data) {
             mg_tls_init(c, &h->tls);
         }
     }
@@ -422,22 +421,23 @@ void *web_thread(void *arg)
     strcpy(mh->rootDir, "/root/run/web");
 
    
-    if ((c = mg_http_listen(&mgr, http_addr, http_mg_cb, NULL)) == NULL) {
+    if (mg_http_listen(&mgr, http_addr, http_mg_cb, NULL) == NULL) {
         MG_ERROR(("cannot listen on %s\n", http_addr));
         return NULL;
     }
 
-    if ((c = mg_http_listen(&mgr, https_addr, http_mg_cb, NULL)) == NULL) {
+    if (mg_http_listen(&mgr, https_addr, http_mg_cb, (void*)1) == NULL) {
         MG_ERROR(("cannot listen on %s\n", https_addr));
         return NULL;
     }
 
+
     webSetCallback();
     printf("_____mgHandle.cnt: %d, rootdir: %s\n", mh->cnt, mh->rootDir);
 
     mh->tls.cert = mg_str(file_load2("/root/run/app/cert/server.crt"));
     mh->tls.key = mg_str(file_load2("/root/run/app/cert/server.key"));
-    mh->tls.name = mg_url_host(https_addr);
+    //mh->tls.name = mg_url_host(https_addr);
     while(h->quit==0) {
         mg_mgr_poll(&mgr, 200);
     }

+ 1 - 1
pub

@@ -62,7 +62,7 @@ function do_copy()
     mkdir -p $curdir/output/t113i/root/run/app/image
     mkdir -p $curdir/output/t113i/root/run/app/cert
 
-    cp -f $custdir/cert/server.* $curdir/output/t113i/root/run/app/cert
+    cp -f $custdir/cert/server.* $curdir/output/t113i/root/run/app/cert/
     cp -f $custdir/db/pdu_dat.db $curdir/output/t113i/root/run/app/pdu_dat.db
     
     if [ "$1" = "PRJ_XIAN_AC_I1_O1_P4" ]; then