├── C_webserver ├── Makefile ├── SSL │ ├── all │ │ ├── ca-cert.pem │ │ ├── ca-cert.srl │ │ ├── ca-key.pem │ │ ├── ca-req.csr │ │ ├── ca.p12 │ │ ├── client-cert.pem │ │ ├── client-key.pem │ │ ├── client-req.csr │ │ ├── client.p12 │ │ ├── server-cert.pem │ │ ├── server-key.pem │ │ ├── server-req.csr │ │ └── server.p12 │ ├── ca │ │ ├── ca-cert.pem │ │ ├── ca-cert.srl │ │ ├── ca-key.pem │ │ ├── ca-req.csr │ │ └── ca.p12 │ ├── client_ip │ │ ├── client-cert.pem │ │ ├── client-key.pem │ │ ├── client-req.csr │ │ └── client.p12 │ ├── server │ │ ├── server-cert.pem │ │ ├── server-key.pem │ │ ├── server-req.csr │ │ └── server.p12 │ └── server_domain │ │ ├── server-cert.pem │ │ ├── server-key.pem │ │ ├── server-req.csr │ │ └── server.p12 ├── files │ ├── favicon.ico │ ├── index.html │ ├── snow.jpg │ ├── upload.txt │ ├── uploaderr.txt │ └── weed.jpg ├── http │ ├── Http.c │ ├── SSL.c │ ├── SSL │ │ ├── all │ │ │ ├── ca-cert.pem │ │ │ ├── ca-cert.srl │ │ │ ├── ca-key.pem │ │ │ ├── ca-req.csr │ │ │ ├── ca.p12 │ │ │ ├── client-cert.pem │ │ │ ├── client-key.pem │ │ │ ├── client-req.csr │ │ │ ├── client.p12 │ │ │ ├── server-cert.pem │ │ │ ├── server-key.pem │ │ │ ├── server-req.csr │ │ │ └── server.p12 │ │ ├── ca │ │ │ ├── ca-cert.pem │ │ │ ├── ca-cert.srl │ │ │ ├── ca-key.pem │ │ │ ├── ca-req.csr │ │ │ └── ca.p12 │ │ ├── client_ip │ │ │ ├── client-cert.pem │ │ │ ├── client-key.pem │ │ │ ├── client-req.csr │ │ │ └── client.p12 │ │ ├── server │ │ │ ├── server-cert.pem │ │ │ ├── server-key.pem │ │ │ ├── server-req.csr │ │ │ └── server.p12 │ │ └── server_domain │ │ │ ├── server-cert.pem │ │ │ ├── server-key.pem │ │ │ ├── server-req.csr │ │ │ └── server.p12 │ ├── TCP.c │ ├── WebServer.c │ ├── filesystem.c │ ├── includes │ │ ├── Http.h │ │ ├── SSL.h │ │ ├── TCP.h │ │ ├── WebServer.h │ │ ├── filesystem.h │ │ ├── global.h │ │ ├── pipe.h │ │ ├── request.h │ │ └── response.h │ ├── main.c │ ├── pipe.c │ ├── request.c │ └── response.c └── test ├── LICENSE └── README.md /C_webserver/Makefile: -------------------------------------------------------------------------------- 1 | all: 2 | gcc http/*.c -I http/includes -levent -lssl -lcrypto -o test 3 | clean: 4 | rm test 5 | remove: 6 | rm -r http 7 | rm *.zip 8 | -------------------------------------------------------------------------------- /C_webserver/SSL/all/ca-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDnTCCAoUCFE6LmALvewpst3nJfL070p2PFkR3MA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzU0OVoXDTMwMTAyNzA2MzU0OVowgYoxCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VIYW4xGjAYBgNVBAoMEWFmbHlpbmdmaXNo 8 | VmlzaW9uMQ0wCwYDVQQLDAR0ZXN0MRQwEgYDVQQDDAthZmx5aW5nZmlzaDEaMBgG 9 | CSqGSIb3DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw 10 | ggEKAoIBAQDYa6Ka07ExL3ogOi4wkTsdKKYA2B/q6nR010HbpyDJ3MFes394fYMy 11 | Cw0SwNR2Ufze+Riys1+ek179TI2I9gfADg1+x1laCSNslAsSVpDQVAJjspCpJ72f 12 | YsAKOdx4SzIGWfdokWpyG61wl372/iwPzodoo5jTkH3Kq9tOduU4h5olGBw0Y5oE 13 | eibobvXCeoMpfsN7kT9ryN9ZNFMrbo72oyil4B1J3ncAWNLq26G3zsB3fFLf/MBy 14 | tuSiIkC6vIONaQzTZ2JnVwIEWwv10nPq44ioo3u8Zpv/TcNNt3NjeB7Yg1ZOUGCl 15 | nU5vTxtxCJmSG6VNndClZomMAn1jJDajAgMBAAEwDQYJKoZIhvcNAQELBQADggEB 16 | AHmTRk1QSZpUhsTLNluH6JiXDq0MyroypPfLhw9DZdh03LA+phGw2Bs9AeWf5qwV 17 | 4Z2txU5FKNyQUODKqC3qtFC8riLqncwhZ87QEEWUuTRWBbpTmsNjZl40Tr0vir9v 18 | WAy7gmke18YfRjdRpep7DDmHb3+PxkllSzKD4N78Ruhm4vIHTagoOiYmkgRMt94W 19 | T7YNI4LE8OGq+5WtXb6V8H5gzoWexBsh87fIJuYpB5xEMnV0BSYVs5Nnlj62qAqq 20 | ijwKav+Nok5PfL5Ozn+aple4UL8tk0qjF6BdFyQPRZ5Iqx5KntMeQ0EhrMMmhhzk 21 | Dv1+KXmmHdU5OaQUpyuDsN0= 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/SSL/all/ca-cert.srl: -------------------------------------------------------------------------------- 1 | 2F82CB83C2A0B4CEC3EB0E0C82923FE9F34E9AA4 2 | -------------------------------------------------------------------------------- /C_webserver/SSL/all/ca-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEA2GuimtOxMS96IDouMJE7HSimANgf6up0dNdB26cgydzBXrN/ 3 | eH2DMgsNEsDUdlH83vkYsrNfnpNe/UyNiPYHwA4NfsdZWgkjbJQLElaQ0FQCY7KQ 4 | qSe9n2LACjnceEsyBln3aJFqchutcJd+9v4sD86HaKOY05B9yqvbTnblOIeaJRgc 5 | NGOaBHom6G71wnqDKX7De5E/a8jfWTRTK26O9qMopeAdSd53AFjS6tuht87Ad3xS 6 | 3/zAcrbkoiJAuryDjWkM02diZ1cCBFsL9dJz6uOIqKN7vGab/03DTbdzY3ge2INW 7 | TlBgpZ1Ob08bcQiZkhulTZ3QpWaJjAJ9YyQ2owIDAQABAoIBAQCD5HTgboraMtj2 8 | sv5bUub3ykIA2bX58JCwdE8KkjwFSaf/Et1ojPVbliiNeT8CLM0zBhPrNC3d8mo9 9 | bF4FTgtDHE1VKiBmIpOYJFDrCB6RF+Gs6LIIpNOHQyNOGB0ooosGG+YPsC9zAzMc 10 | HvedhyFLMM6NEsaciL5guYOZuhPP8pUzgHlX+QbYi5BSebbxIUtVkExgyLfwTpIO 11 | f79X5pQJa6PKMoApBU+eH+lhH2e4UHYJhxNeqXnxvYBWM01LsPHT+AvEsFqZAotH 12 | R9sPwGvfw+euf51AV5Xe5IIO0judyFe2NRgHNSCJtqFTQrP5c0r+kzg8c44qZe/W 13 | mRDxrFuhAoGBAOypoKYNPuGnfqHsAWg7GDrBDJNxFg57uavljqRAe8l9mf1t8SUs 14 | HKGtCyNKyMqeB+fhREtTTnZvD48B/vdLPr17Ju+kmgf3pMdNG68/xl9WsnjBz0aT 15 | z7saf4olr4aRTZPyBG5w/o1BJhwUwa526sFhalpBQHD/98VKvvfUuZJPAoGBAOoa 16 | mARXRvsQfM8ET8B62F7f5eGu0RNLCMAmFE0pG/kIIEl1yM3Xa+OcEYQIhQdNg5TP 17 | xSNHeimJDdlvTIRIQAbNdVDQX/vzKbPlqJ5frK6dEGBqqpkY+F4Leo8TPH5ygmVf 18 | /cAffC6fGykpvJRocY0b3CSEC+C5LHOEGPBs7KVtAoGAE/6s3PqngmclUsbew5Ci 19 | lmwzBM38IBMh97z4VTZBfx+GgBvm0M4uSRaWp0+tMTkyz8t/eqG6MlVlyh5QDVKl 20 | JVsfSgXtIZkxqckA+sh3mRx5DazKN1tLpLIzbleKweLK3CIJb89KImMLtjmmt3fC 21 | k74IP0HeEO3/YALVqZimaQ8CgYAgsuo84Pv3IYxtVgrVtdL3HYr8hPCLI1XrkOYR 22 | CQbxN+Nan2sW5VoahrgjmxUJuhgA9yxwCxHTL2OR1Wv4pibbTGNwkEp35LUUfaWZ 23 | yX9TPHkHHp8Jl2VJrYzG40b12oTAKDJHXZ543JxsmXnPuO7zaMrNBuypzPOahv78 24 | xhof2QKBgEB5yS0/qH5Y6k8vijLZkwNmp9xgn49H6S4LHy5CHenuAE8DLn1w9RO5 25 | e3GpB58EoqArGxTXrDD1xPnM6X9DDv81KWZkjGJNF75gUs+4w7BfVpdiZ1dNMntY 26 | xC8xpo/1Z2acQ6sSjIGPaTSZP9wCQmCFY+iUaEseZyTjDaWyAzQK 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/SSL/all/ca-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC5zCCAc8CAQAwgYoxCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VIYW4xGjAYBgNVBAoMEWFmbHlpbmdmaXNoVmlzaW9uMQ0wCwYDVQQL 4 | DAR0ZXN0MRQwEgYDVQQDDAthZmx5aW5nZmlzaDEaMBgGCSqGSIb3DQEJARYLYWZs 5 | eWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDYa6Ka07Ex 6 | L3ogOi4wkTsdKKYA2B/q6nR010HbpyDJ3MFes394fYMyCw0SwNR2Ufze+Riys1+e 7 | k179TI2I9gfADg1+x1laCSNslAsSVpDQVAJjspCpJ72fYsAKOdx4SzIGWfdokWpy 8 | G61wl372/iwPzodoo5jTkH3Kq9tOduU4h5olGBw0Y5oEeibobvXCeoMpfsN7kT9r 9 | yN9ZNFMrbo72oyil4B1J3ncAWNLq26G3zsB3fFLf/MBytuSiIkC6vIONaQzTZ2Jn 10 | VwIEWwv10nPq44ioo3u8Zpv/TcNNt3NjeB7Yg1ZOUGClnU5vTxtxCJmSG6VNndCl 11 | ZomMAn1jJDajAgMBAAGgFzAVBgkqhkiG9w0BCQcxCAwGMTIzNDU2MA0GCSqGSIb3 12 | DQEBCwUAA4IBAQBcj1wA7gJX/Z8zboNl98h2UMksXgrglnfpoOqo6yJrVNA14GFz 13 | 8gaSRNRaf8M7LFM2SzrAeihC9qzuTHiFt964cqleKpn4s5oYiTuWUzL4bFtDUjD2 14 | qt9iGhObAwbt6i2okMOxPDwkhjBW2hu1sIzXR7Py9dUKPfGmhhyLUs54gTv8Nxo9 15 | hnuDrpMs2wnG9Ky38J8Jis+x7CixCHdGFqGDTN4j8Vjjk6lnwGfcau/kSJFUD9tN 16 | oUAIBw/4RkP+fv8NlKR1oia5L1qmWDSU4wFvv/tPMquVhR/XQsVQKOiaYbnoxbFG 17 | /S+xQCP7WtEoM8Bu54tTSJBFEDzA9omNgKPY 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/SSL/all/ca.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/SSL/all/ca.p12 -------------------------------------------------------------------------------- /C_webserver/SSL/all/client-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDnjCCAoYCFC+Cy4PCoLTOw+sODIKSP+nzTpqkMA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzgzN1oXDTMwMTAyNzA2MzgzN1owgYsxCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VoYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNo 8 | VmVyc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UEAwwLYWZseWluZ2Zpc2gxGjAY 9 | BgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A 10 | MIIBCgKCAQEAxvaJX7fcRSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73Ot38 11 | 3WfSv8FaSroDep0ZU8902GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG87kwX 12 | 4tusFWQOlF1NQkV1z9H3UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWMHe0i 13 | meECc7qQMpxElTkUk3ZItMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8cY7X 14 | PH8+n2yOzSj7k5tnC0oWIJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1Pu/m 15 | Wx57Hz1X/iBn1DZNm1cZ9MFfl7+8ES6mPQIDAQABMA0GCSqGSIb3DQEBCwUAA4IB 16 | AQBd9JzeFH9PLRPn5OyTSev4RG89xaq2qWPhOoREU3IDg3/ulGh6geptkfnXXCzA 17 | ZRU8KCKIp01fOhApYzCuxRWkyLTpz6pyO2XyK/dCYw/wVQK/bYnIipHIJVTpmmMy 18 | X6rF1QrhmDu4luWmKwJkkMVDBwTPtsjl0apTaR6jxHHUnP3I8TH/s2GONB+wBMKe 19 | m7L7FWfCdyrLWfKTyGnd8jcW4dqBMlKi9N/B8iFLv8ApKnKnk4lXzO4cC+RS/ohh 20 | z//My1uxt3IdwMQMftjeNryDKzN+1eNcplB6le21bksBd6a60J0Jm97rzTMnyRPe 21 | x5/u67ewVMFW42mvLtuSw/CX 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/SSL/all/client-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEogIBAAKCAQEAxvaJX7fcRSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73 3 | Ot383WfSv8FaSroDep0ZU8902GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG8 4 | 7kwX4tusFWQOlF1NQkV1z9H3UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWM 5 | He0imeECc7qQMpxElTkUk3ZItMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8 6 | cY7XPH8+n2yOzSj7k5tnC0oWIJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1 7 | Pu/mWx57Hz1X/iBn1DZNm1cZ9MFfl7+8ES6mPQIDAQABAoIBADzUgXmvV/wWrTQ0 8 | dY9UAIJEKbw7ooiIyjRHAsranjYmyZ2g98uatUXoCUoxTm7MYmXphCXYpqvGpnlX 9 | 4lA9kL9FPiS9ONsULVMrMIwWe16u4vMUlkPxJdhpOzqrBb4crJNXc0aftlKAfEgS 10 | 9fYCUDzFxEkrAlRXCEu8zBjJdXGqTGTJweERnrLMX18lv/IrZxL+6m8C24YMHuFh 11 | NpIVGhtYxTDhUZlVD9dxMvCpBPnENVr7Z8882MpbQORazMKCsL115eunqQcrBEib 12 | 4M1iea89zmsB7eYaah8F6mCz+CLr5IPD7XVK9PGfYEdHHVo6BdsbDL+kdPi3dwT5 13 | 48IIT00CgYEA5P7EZTLTgZuafpBXtRV+xS9kVvP26bI5DOyzsPRoiuIUYKvw/9/+ 14 | fnQxQuJuWsBY6CfHZe6S6mNe4nPqP+1F5aeK2vEF1kvnp4g9L1HQztE4NGIqlj7T 15 | m/sLgQQ9NP6Fb/sv9+JcZ+SN9aEe3o0CaADbIgrbeE5VWVmd7pd9YbcCgYEA3m0d 16 | uP4krvPWFL1wVXLNRZEeElGITskGewKR4eX8Pn90od+g+Vm27qvE8/6Ox0mBsMFt 17 | sfDQaJWqqTdoYiZusJP9L6vbzn50T9/71+D/BOvYaNVr35b4HUJ7WIDmnq+/W2ed 18 | Rx3j124ql8exbs680jznIxj7pIxQdNRLNtfQp6sCgYADxSoInICc9qnhgZDgG119 19 | 85zMTbH4AQYtb0w6EpwSBUzelpYeMFrpTBJvjnjQp7APCnCe/gGPOFmcktn9eXOY 20 | J10C48r7zz4eJQEU4Vz1ur4ZJrCazqf/Pm/fDOnREIuz30fX5fMthrbLn355nYq3 21 | maQB+HnKjkebc/1Eq1vWGwKBgCL7IDiO57AIMzwRyw/1PSlauFMDNZ/GZ9mCvvS7 22 | Gd+uZeZraEKvBGEm7JO/Di9zdQ0abqkUiYJZP3zbdPQyvSfSLniH28rvAlXpkQ8T 23 | mKfqe5+JKS0B7kWTxhhWNW7xjvPOKOMdZU7lSZeTVWlq5DFgWK2haToowyKMnMOk 24 | T3F/AoGAbxm3F6hL8pubyzzF4dMT9CHPEyoiFkRDSFijNKtylqfxGJYcHohMxKp0 25 | 4Hm5xXt2K80Sh3Jx2G1wg/n5kwz/DbYHm6PfgR688o35ZxPf6D2VuO/l7w7qdOTC 26 | gTKWj+uXWjKoWc1rod5ebDm62p9bVZ99weIWG9QHBlfLs+AunGU= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/SSL/all/client-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC6DCCAdACAQAwgYsxCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VoYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNoVmVyc2lvbjENMAsGA1UE 4 | CwwEdGVzdDEUMBIGA1UEAwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2Fm 5 | bHlpbmdmaXNoMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxvaJX7fc 6 | RSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73Ot383WfSv8FaSroDep0ZU890 7 | 2GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG87kwX4tusFWQOlF1NQkV1z9H3 8 | UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWMHe0imeECc7qQMpxElTkUk3ZI 9 | tMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8cY7XPH8+n2yOzSj7k5tnC0oW 10 | IJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1Pu/mWx57Hz1X/iBn1DZNm1cZ 11 | 9MFfl7+8ES6mPQIDAQABoBcwFQYJKoZIhvcNAQkHMQgMBjEyMzQ1NjANBgkqhkiG 12 | 9w0BAQsFAAOCAQEAwkG2tUNkGWXxl4e6u59JfrNdhLTBWnO4wngF6xH64jGcHbEg 13 | Io42yQrBeZ8jmjpGrYbCdNlQqtx5veGgAfOD+wXm4KGJwbAacpBqajCY+orvxy3n 14 | s1h2v3NZ/D+74twsEE8TQeHAq4Z6wqbL4y7SkQnNyaePMHhM6tK1FGnohyUu/bCR 15 | brocrjuc+wsgcvV2m6rLxkO2nLnfAFvzR7iIXobr5dr0OqHYBjbvIBIFRt6YB4cj 16 | m4V7EtKBFxVmL1/Qnim3L7/MqHcG5IEJHu/2GehfXn/7IGE9PvuZlcDeFhGStAn4 17 | DJtLKY4QWrLDWgoZmj5nPNwNZy47gqAsCF2n/Q== 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/SSL/all/client.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/SSL/all/client.p12 -------------------------------------------------------------------------------- /C_webserver/SSL/all/server-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDoDCCAogCFC+Cy4PCoLTOw+sODIKSP+nzTpqjMA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzcwNFoXDTMwMTAyNzA2MzcwNFowgY0xCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNo 8 | VmVyc2lvbjENMAsGA1UECwwEdGVzdDEWMBQGA1UEAwwNMTkyLjE2OC4xMzcuMjEa 9 | MBgGCSqGSIb3DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IB 10 | DwAwggEKAoIBAQDDgXIFJJ8gHBVK0byvlOn8YDLZPLQFOvgzkCy+5swGE3cGewog 11 | ujsEXbFPEzNJb/GAOxwDHppoJOw7YsU4oEvpW82SftAeJMSBFAaAUxidvqZ7Dktn 12 | MJSdNnPqOaD+am+wn7Iw+qDoFw0oHWTnh7/ANQHD+mrBSXD1/h4+nsL8+3k5JYo4 13 | a/xn1SwyETPs31fx6mmV01KJvc5YoIMudtGBZnN+jpKQ4pX4iZK1nBMja+d8NCDL 14 | Ef3dn7ahwpJrvDPSBRCOrw4Hvtx0n9LFwhWeOoFbwhp63MPK3TiQ3wNGMP/m2igw 15 | Oob4Yj/uwCRpOAyzWRLp2oaeg3HtfYDWs2/LAgMBAAEwDQYJKoZIhvcNAQELBQAD 16 | ggEBAKMFHOpoBpHbjpo39iDmaqgpUpkoLUG6MWyxEnugSnDpFnv7bCGX+mzxPYSc 17 | cPtScN3ZKWPNGvGs4W95TxPwHcpQSuQGEQQRATh3lwlvrJSqQrWYjehQT5sMlDrz 18 | ziDrOEN2CGzCE0Arv7DvG1aj9+bjENHpf16sYq2SBB3SIhfEQQ458CnHa5El0HVQ 19 | F8k2hQFym+z4ZZA3CjmiSf8fFgatXplvmQlZfaR98AL1ZBdw9FQMGaBzQ/BZG3Qc 20 | VP9FwfFbyN/w5oB5rGsTty+FQd6XfsAZLaE7yzQqkiXsW6134gap2EmzHXf2QcVV 21 | dUZBz1EtA3HkT5S5kPI5MzGL6Wc= 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/SSL/all/server-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAw4FyBSSfIBwVStG8r5Tp/GAy2Ty0BTr4M5AsvubMBhN3BnsK 3 | ILo7BF2xTxMzSW/xgDscAx6aaCTsO2LFOKBL6VvNkn7QHiTEgRQGgFMYnb6mew5L 4 | ZzCUnTZz6jmg/mpvsJ+yMPqg6BcNKB1k54e/wDUBw/pqwUlw9f4ePp7C/Pt5OSWK 5 | OGv8Z9UsMhEz7N9X8eppldNSib3OWKCDLnbRgWZzfo6SkOKV+ImStZwTI2vnfDQg 6 | yxH93Z+2ocKSa7wz0gUQjq8OB77cdJ/SxcIVnjqBW8IaetzDyt04kN8DRjD/5too 7 | MDqG+GI/7sAkaTgMs1kS6dqGnoNx7X2A1rNvywIDAQABAoIBACcqYnYnTP14wsc3 8 | Vy5xjaJyfx1H7ORzWM+znVMtF0hMU/bnZTMDO9l3D5NAzHB0zZObw9PYKKSeaPjI 9 | o6vhaPO54WfsobK4OOmG4nqIqxDG5cEXLwHgGJWaGASfQOJW3kMq6t6nBt8X5xnX 10 | MaS0bDSMKeth2ksYdFnDa7mtwnA9cmvsVUFWH0Kb3GIHEvIkrBW0NySx09Torpua 11 | gPENHC/SLH9Wp2iq0buUbxqZ8zhQd23LUyuuAlzFE+x4gm1ElVWiVfdKoege3kyZ 12 | fWJy1j0ZSQOqbIoBg782R5W21o2i4ZJHm6zyHrxLPpTdgO7n0TA4j3TfIBekKexW 13 | /tBHD0kCgYEA+jTo6E1LxVsK5yt6FkFXFpcmKrH+uPU7c39JWET9AXsU4KVvEAoq 14 | aE7Z9UnBGHf1tU/SZrmqL9mD5KJMZdJiUSAuTmmdE7GITx9O2/wnf3VA+dmHgBQJ 15 | aHyRG/3vNDxOO2HPIjl5hHpawotyqdV/TXOnGkLV2rrkQbHyS1OZPXcCgYEAyAhM 16 | IW180qLjwTdFGrizjsbrsdtUXYxjPoL6YbFgcKNG8MiQzY0rSqZZM8um67qAXCE2 17 | to7ge2xhOPre9n6ARFctAmuQ+EZTcO8Rjd2V+LBYRZqJD/ieA0EnkyV7TE8tF9XD 18 | wYgfIwIdWbPytzrZ1bDzAZMPQo+iqu3IuY2EZU0CgYAZXJGbMnKSv6a8RfDrHpZo 19 | SMvqmf4620i6bVWO5/dJViOIndxDIPSpfAyly2MSSt6SEVQ/a2Rv0zmGTFk4HPow 20 | RPXMpvHwFBfABWll7QpH5ie+66jLd7x4ZeADmVrMzawUYtavHmpN3mUiwSXPRz/P 21 | JwDyLYIl2LnYWuQ3dHLdAwKBgBTU0GDWzx38eq1/fQHYZFKlIpyGE9YeLaOv7jVI 22 | TJvOVS/0IyhU4EJI6pc7SSnZZU6y4sjGPlh8I+/UKG4RJHh5f6V14EYKxNvI+dIF 23 | Vn3sl3TAMC/qm0IJgf6P87Qxtqd5yoYYD+4MZVQXKlqslUzsvZHXZ8ptvOoCE1pH 24 | g5ctAoGBAOTr9bzuXG73yvd8/x84ElqTgc7Fu+RtbEzcNoV+dzZiHXM6/ejb1NjY 25 | mw1ScFEYWSn8EMNd47QjIWHFwEMPQ+uE07ejcIcXEIJNlByBjjCz7A3zu/DoTpnK 26 | EtFdgrjQcMJ6XOYt+jOQAtWZLsxg9LAJ+UxEwNgYXItf9T7tnHs0 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/SSL/all/server-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC6jCCAdICAQAwgY0xCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNoVmVyc2lvbjENMAsGA1UE 4 | CwwEdGVzdDEWMBQGA1UEAwwNMTkyLjE2OC4xMzcuMjEaMBgGCSqGSIb3DQEJARYL 5 | YWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDgXIF 6 | JJ8gHBVK0byvlOn8YDLZPLQFOvgzkCy+5swGE3cGewogujsEXbFPEzNJb/GAOxwD 7 | HppoJOw7YsU4oEvpW82SftAeJMSBFAaAUxidvqZ7DktnMJSdNnPqOaD+am+wn7Iw 8 | +qDoFw0oHWTnh7/ANQHD+mrBSXD1/h4+nsL8+3k5JYo4a/xn1SwyETPs31fx6mmV 9 | 01KJvc5YoIMudtGBZnN+jpKQ4pX4iZK1nBMja+d8NCDLEf3dn7ahwpJrvDPSBRCO 10 | rw4Hvtx0n9LFwhWeOoFbwhp63MPK3TiQ3wNGMP/m2igwOob4Yj/uwCRpOAyzWRLp 11 | 2oaeg3HtfYDWs2/LAgMBAAGgFzAVBgkqhkiG9w0BCQcxCAwGMTIzNDU2MA0GCSqG 12 | SIb3DQEBCwUAA4IBAQBpIJfk4hmga2x+rHmYB0xc6WIvUAblrpkwaaO2k9+ZbeLj 13 | d+8IDWfrA5H5RUQwaI4Q9fmOLTtR2aNMj6OoOCEj/F7DI4MXMr+Z+NA1zLeNla5l 14 | BwX/MYJYP/ElZLb9ygG/wZeoFLnqhz6LW7iJjdB2Vtg6o8goeIpzi1nfYZHc4OnI 15 | y9THVZA3xR7JTBXM7p/K3dBcfYz9H7Uu7CW3v0BnVK1v+Qxa35C+dR3Eug/sdh+j 16 | zPSzxuuPQAYfXSozQgGxN8pNAvOeVzqMVcJNKnkcAr0HOAtvHo1ulmGc2lf8W8b0 17 | ObP19R28lV0vbkK1jkmXvTw80L15kxfhAlyVjyUH 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/SSL/all/server.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/SSL/all/server.p12 -------------------------------------------------------------------------------- /C_webserver/SSL/ca/ca-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDnTCCAoUCFE6LmALvewpst3nJfL070p2PFkR3MA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzU0OVoXDTMwMTAyNzA2MzU0OVowgYoxCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VIYW4xGjAYBgNVBAoMEWFmbHlpbmdmaXNo 8 | VmlzaW9uMQ0wCwYDVQQLDAR0ZXN0MRQwEgYDVQQDDAthZmx5aW5nZmlzaDEaMBgG 9 | CSqGSIb3DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw 10 | ggEKAoIBAQDYa6Ka07ExL3ogOi4wkTsdKKYA2B/q6nR010HbpyDJ3MFes394fYMy 11 | Cw0SwNR2Ufze+Riys1+ek179TI2I9gfADg1+x1laCSNslAsSVpDQVAJjspCpJ72f 12 | YsAKOdx4SzIGWfdokWpyG61wl372/iwPzodoo5jTkH3Kq9tOduU4h5olGBw0Y5oE 13 | eibobvXCeoMpfsN7kT9ryN9ZNFMrbo72oyil4B1J3ncAWNLq26G3zsB3fFLf/MBy 14 | tuSiIkC6vIONaQzTZ2JnVwIEWwv10nPq44ioo3u8Zpv/TcNNt3NjeB7Yg1ZOUGCl 15 | nU5vTxtxCJmSG6VNndClZomMAn1jJDajAgMBAAEwDQYJKoZIhvcNAQELBQADggEB 16 | AHmTRk1QSZpUhsTLNluH6JiXDq0MyroypPfLhw9DZdh03LA+phGw2Bs9AeWf5qwV 17 | 4Z2txU5FKNyQUODKqC3qtFC8riLqncwhZ87QEEWUuTRWBbpTmsNjZl40Tr0vir9v 18 | WAy7gmke18YfRjdRpep7DDmHb3+PxkllSzKD4N78Ruhm4vIHTagoOiYmkgRMt94W 19 | T7YNI4LE8OGq+5WtXb6V8H5gzoWexBsh87fIJuYpB5xEMnV0BSYVs5Nnlj62qAqq 20 | ijwKav+Nok5PfL5Ozn+aple4UL8tk0qjF6BdFyQPRZ5Iqx5KntMeQ0EhrMMmhhzk 21 | Dv1+KXmmHdU5OaQUpyuDsN0= 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/SSL/ca/ca-cert.srl: -------------------------------------------------------------------------------- 1 | 2F82CB83C2A0B4CEC3EB0E0C82923FE9F34E9AA5 2 | -------------------------------------------------------------------------------- /C_webserver/SSL/ca/ca-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEA2GuimtOxMS96IDouMJE7HSimANgf6up0dNdB26cgydzBXrN/ 3 | eH2DMgsNEsDUdlH83vkYsrNfnpNe/UyNiPYHwA4NfsdZWgkjbJQLElaQ0FQCY7KQ 4 | qSe9n2LACjnceEsyBln3aJFqchutcJd+9v4sD86HaKOY05B9yqvbTnblOIeaJRgc 5 | NGOaBHom6G71wnqDKX7De5E/a8jfWTRTK26O9qMopeAdSd53AFjS6tuht87Ad3xS 6 | 3/zAcrbkoiJAuryDjWkM02diZ1cCBFsL9dJz6uOIqKN7vGab/03DTbdzY3ge2INW 7 | TlBgpZ1Ob08bcQiZkhulTZ3QpWaJjAJ9YyQ2owIDAQABAoIBAQCD5HTgboraMtj2 8 | sv5bUub3ykIA2bX58JCwdE8KkjwFSaf/Et1ojPVbliiNeT8CLM0zBhPrNC3d8mo9 9 | bF4FTgtDHE1VKiBmIpOYJFDrCB6RF+Gs6LIIpNOHQyNOGB0ooosGG+YPsC9zAzMc 10 | HvedhyFLMM6NEsaciL5guYOZuhPP8pUzgHlX+QbYi5BSebbxIUtVkExgyLfwTpIO 11 | f79X5pQJa6PKMoApBU+eH+lhH2e4UHYJhxNeqXnxvYBWM01LsPHT+AvEsFqZAotH 12 | R9sPwGvfw+euf51AV5Xe5IIO0judyFe2NRgHNSCJtqFTQrP5c0r+kzg8c44qZe/W 13 | mRDxrFuhAoGBAOypoKYNPuGnfqHsAWg7GDrBDJNxFg57uavljqRAe8l9mf1t8SUs 14 | HKGtCyNKyMqeB+fhREtTTnZvD48B/vdLPr17Ju+kmgf3pMdNG68/xl9WsnjBz0aT 15 | z7saf4olr4aRTZPyBG5w/o1BJhwUwa526sFhalpBQHD/98VKvvfUuZJPAoGBAOoa 16 | mARXRvsQfM8ET8B62F7f5eGu0RNLCMAmFE0pG/kIIEl1yM3Xa+OcEYQIhQdNg5TP 17 | xSNHeimJDdlvTIRIQAbNdVDQX/vzKbPlqJ5frK6dEGBqqpkY+F4Leo8TPH5ygmVf 18 | /cAffC6fGykpvJRocY0b3CSEC+C5LHOEGPBs7KVtAoGAE/6s3PqngmclUsbew5Ci 19 | lmwzBM38IBMh97z4VTZBfx+GgBvm0M4uSRaWp0+tMTkyz8t/eqG6MlVlyh5QDVKl 20 | JVsfSgXtIZkxqckA+sh3mRx5DazKN1tLpLIzbleKweLK3CIJb89KImMLtjmmt3fC 21 | k74IP0HeEO3/YALVqZimaQ8CgYAgsuo84Pv3IYxtVgrVtdL3HYr8hPCLI1XrkOYR 22 | CQbxN+Nan2sW5VoahrgjmxUJuhgA9yxwCxHTL2OR1Wv4pibbTGNwkEp35LUUfaWZ 23 | yX9TPHkHHp8Jl2VJrYzG40b12oTAKDJHXZ543JxsmXnPuO7zaMrNBuypzPOahv78 24 | xhof2QKBgEB5yS0/qH5Y6k8vijLZkwNmp9xgn49H6S4LHy5CHenuAE8DLn1w9RO5 25 | e3GpB58EoqArGxTXrDD1xPnM6X9DDv81KWZkjGJNF75gUs+4w7BfVpdiZ1dNMntY 26 | xC8xpo/1Z2acQ6sSjIGPaTSZP9wCQmCFY+iUaEseZyTjDaWyAzQK 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/SSL/ca/ca-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC5zCCAc8CAQAwgYoxCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VIYW4xGjAYBgNVBAoMEWFmbHlpbmdmaXNoVmlzaW9uMQ0wCwYDVQQL 4 | DAR0ZXN0MRQwEgYDVQQDDAthZmx5aW5nZmlzaDEaMBgGCSqGSIb3DQEJARYLYWZs 5 | eWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDYa6Ka07Ex 6 | L3ogOi4wkTsdKKYA2B/q6nR010HbpyDJ3MFes394fYMyCw0SwNR2Ufze+Riys1+e 7 | k179TI2I9gfADg1+x1laCSNslAsSVpDQVAJjspCpJ72fYsAKOdx4SzIGWfdokWpy 8 | G61wl372/iwPzodoo5jTkH3Kq9tOduU4h5olGBw0Y5oEeibobvXCeoMpfsN7kT9r 9 | yN9ZNFMrbo72oyil4B1J3ncAWNLq26G3zsB3fFLf/MBytuSiIkC6vIONaQzTZ2Jn 10 | VwIEWwv10nPq44ioo3u8Zpv/TcNNt3NjeB7Yg1ZOUGClnU5vTxtxCJmSG6VNndCl 11 | ZomMAn1jJDajAgMBAAGgFzAVBgkqhkiG9w0BCQcxCAwGMTIzNDU2MA0GCSqGSIb3 12 | DQEBCwUAA4IBAQBcj1wA7gJX/Z8zboNl98h2UMksXgrglnfpoOqo6yJrVNA14GFz 13 | 8gaSRNRaf8M7LFM2SzrAeihC9qzuTHiFt964cqleKpn4s5oYiTuWUzL4bFtDUjD2 14 | qt9iGhObAwbt6i2okMOxPDwkhjBW2hu1sIzXR7Py9dUKPfGmhhyLUs54gTv8Nxo9 15 | hnuDrpMs2wnG9Ky38J8Jis+x7CixCHdGFqGDTN4j8Vjjk6lnwGfcau/kSJFUD9tN 16 | oUAIBw/4RkP+fv8NlKR1oia5L1qmWDSU4wFvv/tPMquVhR/XQsVQKOiaYbnoxbFG 17 | /S+xQCP7WtEoM8Bu54tTSJBFEDzA9omNgKPY 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/SSL/ca/ca.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/SSL/ca/ca.p12 -------------------------------------------------------------------------------- /C_webserver/SSL/client_ip/client-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDnjCCAoYCFC+Cy4PCoLTOw+sODIKSP+nzTpqkMA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzgzN1oXDTMwMTAyNzA2MzgzN1owgYsxCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VoYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNo 8 | VmVyc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UEAwwLYWZseWluZ2Zpc2gxGjAY 9 | BgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A 10 | MIIBCgKCAQEAxvaJX7fcRSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73Ot38 11 | 3WfSv8FaSroDep0ZU8902GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG87kwX 12 | 4tusFWQOlF1NQkV1z9H3UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWMHe0i 13 | meECc7qQMpxElTkUk3ZItMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8cY7X 14 | PH8+n2yOzSj7k5tnC0oWIJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1Pu/m 15 | Wx57Hz1X/iBn1DZNm1cZ9MFfl7+8ES6mPQIDAQABMA0GCSqGSIb3DQEBCwUAA4IB 16 | AQBd9JzeFH9PLRPn5OyTSev4RG89xaq2qWPhOoREU3IDg3/ulGh6geptkfnXXCzA 17 | ZRU8KCKIp01fOhApYzCuxRWkyLTpz6pyO2XyK/dCYw/wVQK/bYnIipHIJVTpmmMy 18 | X6rF1QrhmDu4luWmKwJkkMVDBwTPtsjl0apTaR6jxHHUnP3I8TH/s2GONB+wBMKe 19 | m7L7FWfCdyrLWfKTyGnd8jcW4dqBMlKi9N/B8iFLv8ApKnKnk4lXzO4cC+RS/ohh 20 | z//My1uxt3IdwMQMftjeNryDKzN+1eNcplB6le21bksBd6a60J0Jm97rzTMnyRPe 21 | x5/u67ewVMFW42mvLtuSw/CX 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/SSL/client_ip/client-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEogIBAAKCAQEAxvaJX7fcRSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73 3 | Ot383WfSv8FaSroDep0ZU8902GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG8 4 | 7kwX4tusFWQOlF1NQkV1z9H3UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWM 5 | He0imeECc7qQMpxElTkUk3ZItMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8 6 | cY7XPH8+n2yOzSj7k5tnC0oWIJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1 7 | Pu/mWx57Hz1X/iBn1DZNm1cZ9MFfl7+8ES6mPQIDAQABAoIBADzUgXmvV/wWrTQ0 8 | dY9UAIJEKbw7ooiIyjRHAsranjYmyZ2g98uatUXoCUoxTm7MYmXphCXYpqvGpnlX 9 | 4lA9kL9FPiS9ONsULVMrMIwWe16u4vMUlkPxJdhpOzqrBb4crJNXc0aftlKAfEgS 10 | 9fYCUDzFxEkrAlRXCEu8zBjJdXGqTGTJweERnrLMX18lv/IrZxL+6m8C24YMHuFh 11 | NpIVGhtYxTDhUZlVD9dxMvCpBPnENVr7Z8882MpbQORazMKCsL115eunqQcrBEib 12 | 4M1iea89zmsB7eYaah8F6mCz+CLr5IPD7XVK9PGfYEdHHVo6BdsbDL+kdPi3dwT5 13 | 48IIT00CgYEA5P7EZTLTgZuafpBXtRV+xS9kVvP26bI5DOyzsPRoiuIUYKvw/9/+ 14 | fnQxQuJuWsBY6CfHZe6S6mNe4nPqP+1F5aeK2vEF1kvnp4g9L1HQztE4NGIqlj7T 15 | m/sLgQQ9NP6Fb/sv9+JcZ+SN9aEe3o0CaADbIgrbeE5VWVmd7pd9YbcCgYEA3m0d 16 | uP4krvPWFL1wVXLNRZEeElGITskGewKR4eX8Pn90od+g+Vm27qvE8/6Ox0mBsMFt 17 | sfDQaJWqqTdoYiZusJP9L6vbzn50T9/71+D/BOvYaNVr35b4HUJ7WIDmnq+/W2ed 18 | Rx3j124ql8exbs680jznIxj7pIxQdNRLNtfQp6sCgYADxSoInICc9qnhgZDgG119 19 | 85zMTbH4AQYtb0w6EpwSBUzelpYeMFrpTBJvjnjQp7APCnCe/gGPOFmcktn9eXOY 20 | J10C48r7zz4eJQEU4Vz1ur4ZJrCazqf/Pm/fDOnREIuz30fX5fMthrbLn355nYq3 21 | maQB+HnKjkebc/1Eq1vWGwKBgCL7IDiO57AIMzwRyw/1PSlauFMDNZ/GZ9mCvvS7 22 | Gd+uZeZraEKvBGEm7JO/Di9zdQ0abqkUiYJZP3zbdPQyvSfSLniH28rvAlXpkQ8T 23 | mKfqe5+JKS0B7kWTxhhWNW7xjvPOKOMdZU7lSZeTVWlq5DFgWK2haToowyKMnMOk 24 | T3F/AoGAbxm3F6hL8pubyzzF4dMT9CHPEyoiFkRDSFijNKtylqfxGJYcHohMxKp0 25 | 4Hm5xXt2K80Sh3Jx2G1wg/n5kwz/DbYHm6PfgR688o35ZxPf6D2VuO/l7w7qdOTC 26 | gTKWj+uXWjKoWc1rod5ebDm62p9bVZ99weIWG9QHBlfLs+AunGU= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/SSL/client_ip/client-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC6DCCAdACAQAwgYsxCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VoYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNoVmVyc2lvbjENMAsGA1UE 4 | CwwEdGVzdDEUMBIGA1UEAwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2Fm 5 | bHlpbmdmaXNoMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxvaJX7fc 6 | RSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73Ot383WfSv8FaSroDep0ZU890 7 | 2GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG87kwX4tusFWQOlF1NQkV1z9H3 8 | UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWMHe0imeECc7qQMpxElTkUk3ZI 9 | tMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8cY7XPH8+n2yOzSj7k5tnC0oW 10 | IJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1Pu/mWx57Hz1X/iBn1DZNm1cZ 11 | 9MFfl7+8ES6mPQIDAQABoBcwFQYJKoZIhvcNAQkHMQgMBjEyMzQ1NjANBgkqhkiG 12 | 9w0BAQsFAAOCAQEAwkG2tUNkGWXxl4e6u59JfrNdhLTBWnO4wngF6xH64jGcHbEg 13 | Io42yQrBeZ8jmjpGrYbCdNlQqtx5veGgAfOD+wXm4KGJwbAacpBqajCY+orvxy3n 14 | s1h2v3NZ/D+74twsEE8TQeHAq4Z6wqbL4y7SkQnNyaePMHhM6tK1FGnohyUu/bCR 15 | brocrjuc+wsgcvV2m6rLxkO2nLnfAFvzR7iIXobr5dr0OqHYBjbvIBIFRt6YB4cj 16 | m4V7EtKBFxVmL1/Qnim3L7/MqHcG5IEJHu/2GehfXn/7IGE9PvuZlcDeFhGStAn4 17 | DJtLKY4QWrLDWgoZmj5nPNwNZy47gqAsCF2n/Q== 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/SSL/client_ip/client.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/SSL/client_ip/client.p12 -------------------------------------------------------------------------------- /C_webserver/SSL/server/server-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDoDCCAogCFC+Cy4PCoLTOw+sODIKSP+nzTpqjMA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzcwNFoXDTMwMTAyNzA2MzcwNFowgY0xCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNo 8 | VmVyc2lvbjENMAsGA1UECwwEdGVzdDEWMBQGA1UEAwwNMTkyLjE2OC4xMzcuMjEa 9 | MBgGCSqGSIb3DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IB 10 | DwAwggEKAoIBAQDDgXIFJJ8gHBVK0byvlOn8YDLZPLQFOvgzkCy+5swGE3cGewog 11 | ujsEXbFPEzNJb/GAOxwDHppoJOw7YsU4oEvpW82SftAeJMSBFAaAUxidvqZ7Dktn 12 | MJSdNnPqOaD+am+wn7Iw+qDoFw0oHWTnh7/ANQHD+mrBSXD1/h4+nsL8+3k5JYo4 13 | a/xn1SwyETPs31fx6mmV01KJvc5YoIMudtGBZnN+jpKQ4pX4iZK1nBMja+d8NCDL 14 | Ef3dn7ahwpJrvDPSBRCOrw4Hvtx0n9LFwhWeOoFbwhp63MPK3TiQ3wNGMP/m2igw 15 | Oob4Yj/uwCRpOAyzWRLp2oaeg3HtfYDWs2/LAgMBAAEwDQYJKoZIhvcNAQELBQAD 16 | ggEBAKMFHOpoBpHbjpo39iDmaqgpUpkoLUG6MWyxEnugSnDpFnv7bCGX+mzxPYSc 17 | cPtScN3ZKWPNGvGs4W95TxPwHcpQSuQGEQQRATh3lwlvrJSqQrWYjehQT5sMlDrz 18 | ziDrOEN2CGzCE0Arv7DvG1aj9+bjENHpf16sYq2SBB3SIhfEQQ458CnHa5El0HVQ 19 | F8k2hQFym+z4ZZA3CjmiSf8fFgatXplvmQlZfaR98AL1ZBdw9FQMGaBzQ/BZG3Qc 20 | VP9FwfFbyN/w5oB5rGsTty+FQd6XfsAZLaE7yzQqkiXsW6134gap2EmzHXf2QcVV 21 | dUZBz1EtA3HkT5S5kPI5MzGL6Wc= 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/SSL/server/server-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAw4FyBSSfIBwVStG8r5Tp/GAy2Ty0BTr4M5AsvubMBhN3BnsK 3 | ILo7BF2xTxMzSW/xgDscAx6aaCTsO2LFOKBL6VvNkn7QHiTEgRQGgFMYnb6mew5L 4 | ZzCUnTZz6jmg/mpvsJ+yMPqg6BcNKB1k54e/wDUBw/pqwUlw9f4ePp7C/Pt5OSWK 5 | OGv8Z9UsMhEz7N9X8eppldNSib3OWKCDLnbRgWZzfo6SkOKV+ImStZwTI2vnfDQg 6 | yxH93Z+2ocKSa7wz0gUQjq8OB77cdJ/SxcIVnjqBW8IaetzDyt04kN8DRjD/5too 7 | MDqG+GI/7sAkaTgMs1kS6dqGnoNx7X2A1rNvywIDAQABAoIBACcqYnYnTP14wsc3 8 | Vy5xjaJyfx1H7ORzWM+znVMtF0hMU/bnZTMDO9l3D5NAzHB0zZObw9PYKKSeaPjI 9 | o6vhaPO54WfsobK4OOmG4nqIqxDG5cEXLwHgGJWaGASfQOJW3kMq6t6nBt8X5xnX 10 | MaS0bDSMKeth2ksYdFnDa7mtwnA9cmvsVUFWH0Kb3GIHEvIkrBW0NySx09Torpua 11 | gPENHC/SLH9Wp2iq0buUbxqZ8zhQd23LUyuuAlzFE+x4gm1ElVWiVfdKoege3kyZ 12 | fWJy1j0ZSQOqbIoBg782R5W21o2i4ZJHm6zyHrxLPpTdgO7n0TA4j3TfIBekKexW 13 | /tBHD0kCgYEA+jTo6E1LxVsK5yt6FkFXFpcmKrH+uPU7c39JWET9AXsU4KVvEAoq 14 | aE7Z9UnBGHf1tU/SZrmqL9mD5KJMZdJiUSAuTmmdE7GITx9O2/wnf3VA+dmHgBQJ 15 | aHyRG/3vNDxOO2HPIjl5hHpawotyqdV/TXOnGkLV2rrkQbHyS1OZPXcCgYEAyAhM 16 | IW180qLjwTdFGrizjsbrsdtUXYxjPoL6YbFgcKNG8MiQzY0rSqZZM8um67qAXCE2 17 | to7ge2xhOPre9n6ARFctAmuQ+EZTcO8Rjd2V+LBYRZqJD/ieA0EnkyV7TE8tF9XD 18 | wYgfIwIdWbPytzrZ1bDzAZMPQo+iqu3IuY2EZU0CgYAZXJGbMnKSv6a8RfDrHpZo 19 | SMvqmf4620i6bVWO5/dJViOIndxDIPSpfAyly2MSSt6SEVQ/a2Rv0zmGTFk4HPow 20 | RPXMpvHwFBfABWll7QpH5ie+66jLd7x4ZeADmVrMzawUYtavHmpN3mUiwSXPRz/P 21 | JwDyLYIl2LnYWuQ3dHLdAwKBgBTU0GDWzx38eq1/fQHYZFKlIpyGE9YeLaOv7jVI 22 | TJvOVS/0IyhU4EJI6pc7SSnZZU6y4sjGPlh8I+/UKG4RJHh5f6V14EYKxNvI+dIF 23 | Vn3sl3TAMC/qm0IJgf6P87Qxtqd5yoYYD+4MZVQXKlqslUzsvZHXZ8ptvOoCE1pH 24 | g5ctAoGBAOTr9bzuXG73yvd8/x84ElqTgc7Fu+RtbEzcNoV+dzZiHXM6/ejb1NjY 25 | mw1ScFEYWSn8EMNd47QjIWHFwEMPQ+uE07ejcIcXEIJNlByBjjCz7A3zu/DoTpnK 26 | EtFdgrjQcMJ6XOYt+jOQAtWZLsxg9LAJ+UxEwNgYXItf9T7tnHs0 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/SSL/server/server-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC6jCCAdICAQAwgY0xCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNoVmVyc2lvbjENMAsGA1UE 4 | CwwEdGVzdDEWMBQGA1UEAwwNMTkyLjE2OC4xMzcuMjEaMBgGCSqGSIb3DQEJARYL 5 | YWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDgXIF 6 | JJ8gHBVK0byvlOn8YDLZPLQFOvgzkCy+5swGE3cGewogujsEXbFPEzNJb/GAOxwD 7 | HppoJOw7YsU4oEvpW82SftAeJMSBFAaAUxidvqZ7DktnMJSdNnPqOaD+am+wn7Iw 8 | +qDoFw0oHWTnh7/ANQHD+mrBSXD1/h4+nsL8+3k5JYo4a/xn1SwyETPs31fx6mmV 9 | 01KJvc5YoIMudtGBZnN+jpKQ4pX4iZK1nBMja+d8NCDLEf3dn7ahwpJrvDPSBRCO 10 | rw4Hvtx0n9LFwhWeOoFbwhp63MPK3TiQ3wNGMP/m2igwOob4Yj/uwCRpOAyzWRLp 11 | 2oaeg3HtfYDWs2/LAgMBAAGgFzAVBgkqhkiG9w0BCQcxCAwGMTIzNDU2MA0GCSqG 12 | SIb3DQEBCwUAA4IBAQBpIJfk4hmga2x+rHmYB0xc6WIvUAblrpkwaaO2k9+ZbeLj 13 | d+8IDWfrA5H5RUQwaI4Q9fmOLTtR2aNMj6OoOCEj/F7DI4MXMr+Z+NA1zLeNla5l 14 | BwX/MYJYP/ElZLb9ygG/wZeoFLnqhz6LW7iJjdB2Vtg6o8goeIpzi1nfYZHc4OnI 15 | y9THVZA3xR7JTBXM7p/K3dBcfYz9H7Uu7CW3v0BnVK1v+Qxa35C+dR3Eug/sdh+j 16 | zPSzxuuPQAYfXSozQgGxN8pNAvOeVzqMVcJNKnkcAr0HOAtvHo1ulmGc2lf8W8b0 17 | ObP19R28lV0vbkK1jkmXvTw80L15kxfhAlyVjyUH 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/SSL/server/server.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/SSL/server/server.p12 -------------------------------------------------------------------------------- /C_webserver/SSL/server_domain/server-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDpjCCAo4CFC+Cy4PCoLTOw+sODIKSP+nzTpqlMA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA4MzgzMFoXDTMwMTAyNzA4MzgzMFowgZMxCzAJBgNVBAYTAkNOMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNo 8 | VmVyc2lvbjENMAsGA1UECwwEdGVzdDEcMBoGA1UEAwwTd3d3LmFmbHlpbmdmaXNo 9 | LmNvbTEaMBgGCSqGSIb3DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEB 10 | AQUAA4IBDwAwggEKAoIBAQC/JgIC+GtfR/vDegZskJGEVi1uCPKzcn62WJh7/Ixn 11 | wvkzmbp21BlCeDerQVQus5Qc26TBbIBO2XxVMlG2Adqy8i2kPbd/mJ/ecLRG9zpi 12 | J5DBCDvWDjluW9dg/ujw4MOqnD6hRMSGa7vlY/owFDJusL/83I/dNEqUdJHE/UNC 13 | pItMjATAdMv7ElWzZ84Hy54DA+nhcT53+oGtdKZQWkARYA5634eHfKvrHcYVcqdr 14 | Q/QwE1v4dRAfLYi/Rop+ogr8IY/OPjkP+gNnNJk9PUfUQw8HPqnPlQPwRy20Cuv3 15 | nR7YNF0t/j/KIFR8/6VeOPUMAOu6UL2G4P7UxWpt1TmhAgMBAAEwDQYJKoZIhvcN 16 | AQELBQADggEBAMlct80kKtw81bqFhM8JjALqEaBYpkbyfb2bp07Dp4GmmUBtqtw5 17 | 38AbQuShRVGcEPVdoJuNFyZ4Dec6im/kmfeh420V5x28o3vozOce5MOzdGGIlT5L 18 | Agj3lXOogHjtfKJTjTo6gbjcZMoP9K9OmN/6tjMbYKmfJHKHtxpAsTfWPXTeW6vy 19 | PYf8Quu/pCtbqsh0blaTZHfml8whSEN3f87EhWXkzypX3vZotXQuRQ7y/TP/x8/I 20 | slJ3WEdzTVZ6KWpswa8mUIZdzJByOlosw7zk5F213YKojt5PVl5huWELBMVjZwMo 21 | VenTGhv8OIP6gkfngLh6iGT/fw63Ev2P410= 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/SSL/server_domain/server-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAvyYCAvhrX0f7w3oGbJCRhFYtbgjys3J+tliYe/yMZ8L5M5m6 3 | dtQZQng3q0FULrOUHNukwWyATtl8VTJRtgHasvItpD23f5if3nC0Rvc6YieQwQg7 4 | 1g45blvXYP7o8ODDqpw+oUTEhmu75WP6MBQybrC//NyP3TRKlHSRxP1DQqSLTIwE 5 | wHTL+xJVs2fOB8ueAwPp4XE+d/qBrXSmUFpAEWAOet+Hh3yr6x3GFXKna0P0MBNb 6 | +HUQHy2Iv0aKfqIK/CGPzj45D/oDZzSZPT1H1EMPBz6pz5UD8EcttArr950e2DRd 7 | Lf4/yiBUfP+lXjj1DADrulC9huD+1MVqbdU5oQIDAQABAoIBADEoPyAwbryEMJTm 8 | zrwguauE1g4UMwY/DaMrSZupKRqOI7RHdpKUnSJg9EAQfuu7tv1s5wPvOVgNylHG 9 | rQjXlTyr110DmiswPvzfkx0k+1i+wBVEXs7/vXlKGSuSoqk/xFId+GVU4A2Jqzqk 10 | 6XRv3UBmKBmJR14l0oA3Mj2svB1o7LF0BnVS2oJ5nAzvRCWWGfLQJZi2gdv4EUQx 11 | A+kvF3Kpt8jBp4nhI1TpwBkOhdG5KBmjwE6JsImT3h2rtYGIAsA8a4zfm2o5/kfJ 12 | pb0uuH5FxfsWOI9/5mLsrmETZTa7fhCWDVlWCqntoZIlkpJMxGJANiXcc4vJm24R 13 | MraqOrkCgYEA/Sa4w9OsKESU81fGTke2lF4eXIKpAWyXnecpBuZKJXMw5XpozQLx 14 | ZBdM+4h3VqDtA7CfJfrFdtKXb/pB1bs/DIgHTNsDT15A7McbPR5cuUDmbVBx0pGz 15 | ArkhBN3/urNHnfjL1hcPJ2XJTxeugp84pTQeP1ZFQ7aRBV6apqFGtgMCgYEAwUyr 16 | H/le9H/l0VKO3E0BJZQYjTSN7u8a37Mu2kjvYG544dFTJpyX9d2FMaxxx1LgWCMq 17 | izLJpbRp/eRADEPVo2fASJS0c/raZ+v0lCBEgdzAmoga8wrXAmsE92Iu8Y+pfOwa 18 | 0gMqsq9e1gI0asaLjod24l9TuZrjr9Q1oOVsIosCgYB5W+jTqFQt8cLebcPZnzN+ 19 | KSiw/Mp8rkx5HGpkrl35WiGkwWwgbDrA2xLCuwdK9lbpn/CLyo6Dii2jNvv8tIlj 20 | PosRYyVRFURWvpTmVfnprZ1J5njKk6KXuZyEstB39p5ssus1NVTEdF1vl1DHugDz 21 | 4epmPrtx3MHlKxdErqgxdQKBgGAmWcyqxy/JWrCXZ1Zvu01M8DV02dDrAKwbPgf4 22 | VZHbAagZ7kl7hR8YVEOUKnhiYhOVUnkxBxq0tjBDVBSFvYPtfLjdtzElq3Qb62mu 23 | 70TFYMy9POJ+FtsuDqdbIEyqED2CWAj06E0/bGX5bMdcAVkhSuJpVoUxZWY1oYNp 24 | +zLnAoGBAOQ3Qu4Bm76drrzGQ4rszTGRk3APhcbSnS+cIcB48cpn5/Sv8I/ofTxa 25 | P/VF9GZDy6FYzAS8GF/m5O8isVdj1nl3wcowh3mAxO+aAooLvF2F2abtJNMK9bTL 26 | a7YHmJAkzovlupKi3ZAVbjW0qPMKo0kRKzuyAvQ3EYB8L9je5F+J 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/SSL/server_domain/server-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC8DCCAdgCAQAwgZMxCzAJBgNVBAYTAkNOMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNoVmVyc2lvbjENMAsGA1UE 4 | CwwEdGVzdDEcMBoGA1UEAwwTd3d3LmFmbHlpbmdmaXNoLmNvbTEaMBgGCSqGSIb3 5 | DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB 6 | AQC/JgIC+GtfR/vDegZskJGEVi1uCPKzcn62WJh7/Ixnwvkzmbp21BlCeDerQVQu 7 | s5Qc26TBbIBO2XxVMlG2Adqy8i2kPbd/mJ/ecLRG9zpiJ5DBCDvWDjluW9dg/ujw 8 | 4MOqnD6hRMSGa7vlY/owFDJusL/83I/dNEqUdJHE/UNCpItMjATAdMv7ElWzZ84H 9 | y54DA+nhcT53+oGtdKZQWkARYA5634eHfKvrHcYVcqdrQ/QwE1v4dRAfLYi/Rop+ 10 | ogr8IY/OPjkP+gNnNJk9PUfUQw8HPqnPlQPwRy20Cuv3nR7YNF0t/j/KIFR8/6Ve 11 | OPUMAOu6UL2G4P7UxWpt1TmhAgMBAAGgFzAVBgkqhkiG9w0BCQcxCAwGMTIzNDU2 12 | MA0GCSqGSIb3DQEBCwUAA4IBAQB3n/LAP3kfvoLs7rkUPjpMl6Pazf++EoV4fJrT 13 | 9VyO1Gh1pwKDtVewS0CaEcvwkpgdY80zB8tQhshiXEMjBwb7qhJGuFLnSLwYT7Qr 14 | gdN/x5dS0CjwW2Afyo/wnNdKf6Xa9dMq1X2pX2Hr7sJxQej/Jv8cXbFWUPuN74GF 15 | pTxKqqDnza3+PWEKv1kDL0Xc7DAZ1xYIZ8Dk+M633HgYdYMt4Lm/RBif2/++x/Wu 16 | P5pWgdCe8cUT8DJFzBC4OacDtcC7FEne/QyoPM3qLF9Fv53Q39vmXsxESC20nmMo 17 | gdy8q0YlRhjI2xLGZvSuqXfdQZE0pR6oAraH9j0ElqdVQy6w 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/SSL/server_domain/server.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/SSL/server_domain/server.p12 -------------------------------------------------------------------------------- /C_webserver/files/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/files/favicon.ico -------------------------------------------------------------------------------- /C_webserver/files/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /C_webserver/files/snow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/files/snow.jpg -------------------------------------------------------------------------------- /C_webserver/files/upload.txt: -------------------------------------------------------------------------------- 1 | Send done. 2 | -------------------------------------------------------------------------------- /C_webserver/files/uploaderr.txt: -------------------------------------------------------------------------------- 1 | Send error. 2 | -------------------------------------------------------------------------------- /C_webserver/files/weed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/files/weed.jpg -------------------------------------------------------------------------------- /C_webserver/http/Http.c: -------------------------------------------------------------------------------- 1 | #include "Http.h" 2 | 3 | #define BUFFER_SIZE 8192 4 | 5 | int DealWithRequest(Socket sock){ 6 | //libevent并发 7 | struct event_base* base = event_base_new(); //event_init(); 8 | Eventarg* eventarg = (Eventarg*)malloc(sizeof(Eventarg)); 9 | eventarg->base = base; 10 | eventarg->firsttime = true; 11 | eventarg->sock = &sock; 12 | struct event* ev_listen = event_new(base,sock.sockId,EV_READ | EV_PERSIST,accept_cb,eventarg); 13 | eventarg->event = ev_listen; 14 | struct timeval tv; 15 | tv.tv_sec = alivetime; 16 | event_add(ev_listen,&tv); 17 | event_base_dispatch(base); 18 | return 0; 19 | } 20 | 21 | void accept_cb(int fd, short events, void* arg){ 22 | Eventarg* eventarg = (Eventarg*)arg; 23 | if(events==EV_TIMEOUT){ 24 | if(eventarg->firsttime==true) return; 25 | else{CloseHttp(eventarg);} 26 | }else{ 27 | eventarg->firsttime=false; 28 | struct Request* req = NULL; 29 | char buffer[BUFFER_SIZE]; 30 | 31 | int flag = ReadHttpHeaderBytes(*(eventarg->sock), buffer, BUFFER_SIZE); 32 | if (flag == -1){ 33 | //出现错误 34 | return; 35 | } 36 | else if (flag == -2){ 37 | // 客户端主动断开 38 | CloseHttp(eventarg); 39 | return; 40 | } 41 | 42 | req = phaser(strlen(buffer),buffer); 43 | if(memcmp(req->contentLength,"\0",1)!=0){ 44 | size_t len = atol(req->contentLength); 45 | req->bodyptr = (char*)malloc(len+1); 46 | memset(req->bodyptr,0,len+1); 47 | RecvDataByLength(*(eventarg->sock),req->bodyptr,len,0); 48 | } 49 | if(memcmp(req->Encoding,"chunked",7)==0) req->bodyptr = (char*)(eventarg->sock); 50 | printRequest(req); 51 | 52 | struct Block* block = init(req); 53 | 54 | printResponse(block); 55 | sendResponse(block,*(eventarg->sock)); 56 | if(block->connection==false){ 57 | CloseHttp(eventarg); 58 | } 59 | freeRequest(req); 60 | freeBlock(block); 61 | } 62 | } 63 | 64 | void freeRequest(struct Request* req){ 65 | if(req==NULL) return; 66 | if(req->bodyptr!=NULL) free(req->bodyptr); 67 | free(req); 68 | } 69 | 70 | void freeResponse(struct FinalResponse* res){ 71 | if(res==NULL) return; 72 | if(res->data!=NULL) free(res->data); 73 | free(res); 74 | } 75 | 76 | void freeFileinfo(struct FileInfo* fi){ 77 | if(fi==NULL) return; 78 | if(fi->fpath!=NULL) free(fi->fpath); 79 | free(fi); 80 | } 81 | 82 | void freeBlock(struct Block* block){ 83 | if(block==NULL) return; 84 | if(block->response!=NULL) freeResponse(block->response); 85 | if(block->fileinfo!=NULL) freeFileinfo(block->fileinfo); 86 | free(block); 87 | } 88 | 89 | void printRequest(struct Request* req){ 90 | printf("\n----------------------------------------------\n[New Request]\n"); 91 | printf(" method: %s\n",req->method); 92 | printf(" URL: %s\n",req->URL); 93 | printf(" URLlen: %ld\n",req->URLlen); 94 | printf(" version: %s\n",req->version); 95 | printf(" Connection: %s\n",req->connection); 96 | printf(" Accept: %s\n",req->accept); 97 | printf(" contentType: %s\n",req->contentType); 98 | printf(" contentLength: %s\n",req->contentLength); 99 | printf(" Encoding: %s\n",req->Encoding); 100 | //if(req->bodyptr!=NULL) printf("data:\n%s\n",req->bodyptr); 101 | } 102 | 103 | void printResponse(struct Block* block){ 104 | printf("\n----------------------------------------------\n[Response]\n"); 105 | printf("%s\n",block->response->data); 106 | if(block->fileinfo!=NULL) 107 | printf("path: %s\ntype: %s\n",block->fileinfo->fpath,block->fileinfo->type); 108 | printf("----------------------------------------------\n"); 109 | } 110 | 111 | int ReadHttpHeaderBytes(Socket sock, char *data, int maxBuffer) 112 | { 113 | int flag = RecvDataByFlag(sock, data, maxBuffer, "\r\n\r\n",0); 114 | 115 | if (flag == -1) 116 | { 117 | #ifdef OUTPUT_ERROR_INFOR 118 | printf("读取http header时发生错误\n"); 119 | #endif 120 | *data = '\0'; 121 | return -1; 122 | } 123 | else if (flag == -2) 124 | { 125 | return -2; 126 | } 127 | return 0; 128 | } 129 | 130 | void sendResponse(struct Block* block, Socket sock){ 131 | if(block==NULL) return; 132 | SendData(sock,block->response->data,block->response->len,false,false); 133 | if(block->fileinfo!=NULL){ 134 | SendFile(sock,block->fileinfo->fpath,block->chunked,true); 135 | } 136 | } 137 | 138 | int ResponseHttpWithHtml(Socket sock, HttpKind httpKind, char *htmlPath) 139 | { 140 | // 计算http 头部内容 141 | char headerBuffer[BUFFER_SIZE]; 142 | memset(headerBuffer, 0, BUFFER_SIZE); 143 | 144 | // 计算获取正确的html path 145 | char path[500]; 146 | memset(path, 0, 500); 147 | strcpy(path, "response/"); 148 | 149 | // 插入http类型,并计算正确的http文件所在path 150 | switch (httpKind) 151 | { 152 | case Error_400: 153 | strcat(headerBuffer, "HTTP/1.1 400 BAD REQUEST\r\n"); 154 | 155 | strcat(path, "400.html"); 156 | break; 157 | case Error_404: 158 | strcat(headerBuffer, "HTTP/1.1 404 NOT FOUND\r\n"); 159 | 160 | strcat(path, "404.html"); 161 | break; 162 | case Error_500: 163 | strcat(headerBuffer, "HTTP/1.1 500 Internal Server Error\r\n"); 164 | 165 | strcat(path, "500.html"); 166 | break; 167 | case Error_501: 168 | strcat(headerBuffer, "HTTP/1.1 501 Method Not Implemented\r\n"); 169 | 170 | strcat(path, "501.html"); 171 | break; 172 | case Success_200: 173 | strcat(path, htmlPath); 174 | if (htmlPath == NULL || access(path, F_OK) != 0) 175 | { 176 | #ifdef OUTPUT_ERROR_INFOR 177 | printf("获取返回html时为空,将自动渲染404界面\n"); 178 | #endif 179 | strcat(headerBuffer, "HTTP/1.1 400 BAD REQUEST\r\n"); 180 | memset(path, 0, 500); 181 | strcpy(path, "response/404.html"); 182 | httpKind = Error_404; 183 | break; 184 | } 185 | 186 | // 以下仅为测试代码 187 | strcat(headerBuffer, "HTTP/1.1 200 OK\r\n"); 188 | break; 189 | 190 | default: 191 | #ifdef OUTPUT_ERROR_INFOR 192 | printf("HTTP_HTML Response错误枚举\n"); 193 | #endif 194 | return -1; 195 | } 196 | 197 | strcat(headerBuffer, "Server: C http server 1.0\r\n"); 198 | strcat(headerBuffer, "Connection: keep-alive\r\n"); 199 | strcat(headerBuffer, "Content-Type: text/html\r\n"); 200 | 201 | // 写入data长度 202 | int dataLength = GetFileLength(path); 203 | 204 | char dataLengthString[30]; 205 | memset(dataLengthString, 0, 30); 206 | sprintf(dataLengthString, "Content-Length: %d\r\n", dataLength); 207 | strcat(headerBuffer, dataLengthString); 208 | //strcat(headerBuffer, "Transfer-Encoding: chunked\r\n"); 209 | 210 | // 写入空行 211 | strcat(headerBuffer, "\r\n"); 212 | 213 | #ifdef OUTPUT_DEBUG_INFO 214 | printf("发送头部:\n%s", headerBuffer); 215 | #endif 216 | 217 | SendData(sock, headerBuffer,strlen(headerBuffer),false,false); // 发送头部 218 | SendFile(sock, path,false,true); 219 | // char *d = "this is test
"; 220 | // SendData(sock, d, strlen(d),true,true); 221 | } 222 | 223 | int ResponseHttp(Socket sock, char *contentType, char *filePath, Bool allowChunked) 224 | { 225 | // 计算获取正确的文件path 226 | char path[500]; 227 | memset(path, 0, 500); 228 | strcpy(path, "response/"); 229 | strcat(path, filePath); 230 | 231 | // 判断文件是否存在 232 | if (access(path, F_OK) != 0) 233 | { 234 | // 资源文件不存在 235 | ResponseHttpWithHtml(sock, Error_404, NULL); 236 | return -1; 237 | } 238 | 239 | // 计算http 头部内容 240 | char headerBuffer[BUFFER_SIZE]; 241 | memset(headerBuffer, 0, BUFFER_SIZE); 242 | 243 | strcat(headerBuffer, "HTTP/1.1 200 OK\r\n"); 244 | strcat(headerBuffer, "Server: C http server 1.0\r\n"); 245 | strcat(headerBuffer, "Connection: keep-alive\r\n"); 246 | 247 | // 输入ContentType 248 | strcat(headerBuffer, "Content-Type: "); 249 | strcat(headerBuffer, contentType); 250 | strcat(headerBuffer, "\r\n"); 251 | 252 | strcat(headerBuffer, "Content-Disposition:attachment;filename="); 253 | char fileName[40]; 254 | memset(fileName, 0, 40); 255 | GetFileName(filePath, fileName); 256 | strcat(headerBuffer, fileName); 257 | strcat(headerBuffer, "\r\n"); 258 | 259 | if(!allowChunked) 260 | { 261 | // 使用Content-Length的方式写入 262 | int dataLength = GetFileLength(path); 263 | 264 | char dataLengthString[30]; 265 | memset(dataLengthString, 0, 30); 266 | sprintf(dataLengthString, "Content-Length: %d\r\n", dataLength); 267 | strcat(headerBuffer, dataLengthString); 268 | } 269 | else 270 | { 271 | // 使用chunked的方式写入 272 | strcat(headerBuffer, "Transfer-Encoding: chunked\r\n"); 273 | } 274 | strcat(headerBuffer, "\r\n"); // 增加空行, 头部生成完毕 275 | 276 | #ifdef OUTPUT_DEBUG_INFO 277 | printf("发送头部:\n%s", headerBuffer); 278 | #endif 279 | 280 | SendData(sock, headerBuffer,strlen(headerBuffer),false,false); // 发送头部 281 | SendFile(sock, path, allowChunked,true); 282 | return 0; 283 | } 284 | 285 | void CloseHttp(Eventarg* eventarg){ 286 | event_base_loopbreak(eventarg->base); 287 | event_del(eventarg->event); 288 | event_free(eventarg->event); 289 | event_base_free(eventarg->base); 290 | CloseSocket(*(eventarg->sock)); 291 | free(eventarg); 292 | printf("[Info] HTTP/HTTPS connection close.\n"); 293 | return; 294 | } -------------------------------------------------------------------------------- /C_webserver/http/SSL.c: -------------------------------------------------------------------------------- 1 | #include "SSL.h" 2 | 3 | SSL_CTX* InitSSL() 4 | { 5 | SSL_library_init(); // 初始化SSL库 6 | OpenSSL_add_all_algorithms(); //载入所有SSL算法 7 | SSL_load_error_strings(); //载入所有错误信息 8 | 9 | SSL_CTX *ctx = SSL_CTX_new(TLS_server_method()); 10 | if(ctx==NULL) 11 | { 12 | #ifdef OUTPUT_ERROR_INFOR 13 | printf("初始化CTX失败\n"); 14 | #endif 15 | return NULL; 16 | } 17 | 18 | // 要求校验对方证书 19 | SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL); 20 | // 加载CA的证书 21 | SSL_CTX_load_verify_locations(ctx, CAFILE, NULL); //设置CA 22 | 23 | // 加载自己的证书 24 | if (SSL_CTX_use_certificate_file(ctx, CERTF, SSL_FILETYPE_PEM)<=0) 25 | { 26 | ERR_print_errors_fp(stderr); 27 | #ifdef OUTPUT_ERROR_INFOR 28 | printf("加载认证证书出错\n"); 29 | #endif 30 | return NULL; 31 | } 32 | 33 | // 加载自己的私钥 34 | if (SSL_CTX_use_PrivateKey_file(ctx, KEYF, SSL_FILETYPE_PEM) <= 0) 35 | { 36 | ERR_print_errors_fp(stderr); 37 | #ifdef OUTPUT_ERROR_INFOR 38 | printf("加载私钥出错\n"); 39 | #endif 40 | return NULL; 41 | } 42 | 43 | // 验证私钥是否正确 44 | if (!SSL_CTX_check_private_key(ctx)) 45 | { 46 | #ifdef OUTPUT_ERROR_INFOR 47 | printf("公钥与私钥不匹配\n"); 48 | #endif 49 | return NULL; 50 | } 51 | 52 | // SSL_CTX_set_client_CA_list(ctx, SSL_load_client_CA_file(CAFILE)); 53 | // // SSL_CTX_set_cipher_list(ctx, "RC4-MD5"); 54 | 55 | SSL_CTX_set_mode(ctx, SSL_MODE_AUTO_RETRY); 56 | return ctx; 57 | } 58 | 59 | SSL* AttachSSLWithSocket(int sockId, SSL_CTX* ctx) 60 | { 61 | if(ctx==NULL) 62 | { 63 | #ifdef OUTPUT_ERROR_INFOR 64 | printf("计算SSL时,ctx=NULL \n"); 65 | #endif 66 | return NULL; 67 | } 68 | 69 | SSL* ssl = SSL_new(ctx); 70 | if (ssl==NULL) 71 | { 72 | #ifdef OUTPUT_ERROR_INFOR 73 | printf("初始化SSL时发生错误\n"); 74 | #endif 75 | return NULL; 76 | } 77 | 78 | //绑定套接字与SSL 79 | if (SSL_set_fd(ssl, sockId)==0) 80 | { 81 | #ifdef OUTPUT_ERROR_INFOR 82 | printf("关联SSL与套接字出错\n"); 83 | #endif 84 | return NULL; 85 | } 86 | 87 | for (int i = 0; i < 100;i++) 88 | { 89 | int k = SSL_accept(ssl); 90 | if (k<=0) 91 | { 92 | continue; 93 | } 94 | else 95 | { 96 | if(!VerifyX509(ssl)) 97 | { 98 | SSL_free(ssl); 99 | return NULL; 100 | } 101 | 102 | return ssl; 103 | } 104 | } 105 | 106 | #ifdef OUTPUT_ERROR_INFOR 107 | printf("SSL连接出错, 信息: %s \n", ERR_reason_error_string(ERR_get_error())); 108 | #endif 109 | return NULL; 110 | } 111 | 112 | Bool VerifyX509(SSL* ssl) 113 | { 114 | 115 | X509 *client_cert = SSL_get_peer_certificate(ssl); 116 | 117 | #ifdef OUTPUT_DEBUG_INFO 118 | printf("\n用户证书如下:\n"); 119 | #endif 120 | 121 | if (client_cert != NULL) 122 | { 123 | char *str = X509_NAME_oneline(X509_get_subject_name(client_cert), 0, 0); 124 | if (!str) 125 | { 126 | #ifdef OUTPUT_ERROR_INFOR 127 | printf("subject\n"); 128 | #endif 129 | return false; 130 | } 131 | 132 | #ifdef OUTPUT_DEBUG_INFO 133 | printf("subject: %s\n", str); 134 | #endif 135 | OPENSSL_free(str); 136 | 137 | str = X509_NAME_oneline(X509_get_issuer_name(client_cert), 0, 0); 138 | if (!str) 139 | { 140 | #ifdef OUTPUT_ERROR_INFOR 141 | printf("issuer存在错误\n"); 142 | #endif 143 | return false; 144 | } 145 | 146 | #ifdef OUTPUT_DEBUG_INFO 147 | printf("issuer: %s\n\n", str); 148 | #endif 149 | X509_free(client_cert); 150 | OPENSSL_free(str); 151 | return true; 152 | } 153 | else 154 | { 155 | #ifdef OUTPUT_ERROR_INFOR 156 | printf("用户证书不存在\n"); 157 | #endif 158 | return false; 159 | } 160 | } 161 | 162 | void FreeSSL(SSL* ssl, SSL_CTX* ctx) 163 | { 164 | if(!ssl) 165 | { 166 | SSL_shutdown(ssl); 167 | SSL_free(ssl); 168 | ssl = NULL; 169 | } 170 | 171 | if(!ctx) 172 | { 173 | SSL_CTX_free(ctx); 174 | ctx = NULL; 175 | } 176 | } 177 | 178 | // SSL_write(ssl, "Server is connect to you!\n", strlen("Server is connect to you!\n")); 179 | // SSL_read(ssl, buf, sizeof(buf)); -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/ca-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDnTCCAoUCFE6LmALvewpst3nJfL070p2PFkR3MA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzU0OVoXDTMwMTAyNzA2MzU0OVowgYoxCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VIYW4xGjAYBgNVBAoMEWFmbHlpbmdmaXNo 8 | VmlzaW9uMQ0wCwYDVQQLDAR0ZXN0MRQwEgYDVQQDDAthZmx5aW5nZmlzaDEaMBgG 9 | CSqGSIb3DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw 10 | ggEKAoIBAQDYa6Ka07ExL3ogOi4wkTsdKKYA2B/q6nR010HbpyDJ3MFes394fYMy 11 | Cw0SwNR2Ufze+Riys1+ek179TI2I9gfADg1+x1laCSNslAsSVpDQVAJjspCpJ72f 12 | YsAKOdx4SzIGWfdokWpyG61wl372/iwPzodoo5jTkH3Kq9tOduU4h5olGBw0Y5oE 13 | eibobvXCeoMpfsN7kT9ryN9ZNFMrbo72oyil4B1J3ncAWNLq26G3zsB3fFLf/MBy 14 | tuSiIkC6vIONaQzTZ2JnVwIEWwv10nPq44ioo3u8Zpv/TcNNt3NjeB7Yg1ZOUGCl 15 | nU5vTxtxCJmSG6VNndClZomMAn1jJDajAgMBAAEwDQYJKoZIhvcNAQELBQADggEB 16 | AHmTRk1QSZpUhsTLNluH6JiXDq0MyroypPfLhw9DZdh03LA+phGw2Bs9AeWf5qwV 17 | 4Z2txU5FKNyQUODKqC3qtFC8riLqncwhZ87QEEWUuTRWBbpTmsNjZl40Tr0vir9v 18 | WAy7gmke18YfRjdRpep7DDmHb3+PxkllSzKD4N78Ruhm4vIHTagoOiYmkgRMt94W 19 | T7YNI4LE8OGq+5WtXb6V8H5gzoWexBsh87fIJuYpB5xEMnV0BSYVs5Nnlj62qAqq 20 | ijwKav+Nok5PfL5Ozn+aple4UL8tk0qjF6BdFyQPRZ5Iqx5KntMeQ0EhrMMmhhzk 21 | Dv1+KXmmHdU5OaQUpyuDsN0= 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/ca-cert.srl: -------------------------------------------------------------------------------- 1 | 2F82CB83C2A0B4CEC3EB0E0C82923FE9F34E9AA4 2 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/ca-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEA2GuimtOxMS96IDouMJE7HSimANgf6up0dNdB26cgydzBXrN/ 3 | eH2DMgsNEsDUdlH83vkYsrNfnpNe/UyNiPYHwA4NfsdZWgkjbJQLElaQ0FQCY7KQ 4 | qSe9n2LACjnceEsyBln3aJFqchutcJd+9v4sD86HaKOY05B9yqvbTnblOIeaJRgc 5 | NGOaBHom6G71wnqDKX7De5E/a8jfWTRTK26O9qMopeAdSd53AFjS6tuht87Ad3xS 6 | 3/zAcrbkoiJAuryDjWkM02diZ1cCBFsL9dJz6uOIqKN7vGab/03DTbdzY3ge2INW 7 | TlBgpZ1Ob08bcQiZkhulTZ3QpWaJjAJ9YyQ2owIDAQABAoIBAQCD5HTgboraMtj2 8 | sv5bUub3ykIA2bX58JCwdE8KkjwFSaf/Et1ojPVbliiNeT8CLM0zBhPrNC3d8mo9 9 | bF4FTgtDHE1VKiBmIpOYJFDrCB6RF+Gs6LIIpNOHQyNOGB0ooosGG+YPsC9zAzMc 10 | HvedhyFLMM6NEsaciL5guYOZuhPP8pUzgHlX+QbYi5BSebbxIUtVkExgyLfwTpIO 11 | f79X5pQJa6PKMoApBU+eH+lhH2e4UHYJhxNeqXnxvYBWM01LsPHT+AvEsFqZAotH 12 | R9sPwGvfw+euf51AV5Xe5IIO0judyFe2NRgHNSCJtqFTQrP5c0r+kzg8c44qZe/W 13 | mRDxrFuhAoGBAOypoKYNPuGnfqHsAWg7GDrBDJNxFg57uavljqRAe8l9mf1t8SUs 14 | HKGtCyNKyMqeB+fhREtTTnZvD48B/vdLPr17Ju+kmgf3pMdNG68/xl9WsnjBz0aT 15 | z7saf4olr4aRTZPyBG5w/o1BJhwUwa526sFhalpBQHD/98VKvvfUuZJPAoGBAOoa 16 | mARXRvsQfM8ET8B62F7f5eGu0RNLCMAmFE0pG/kIIEl1yM3Xa+OcEYQIhQdNg5TP 17 | xSNHeimJDdlvTIRIQAbNdVDQX/vzKbPlqJ5frK6dEGBqqpkY+F4Leo8TPH5ygmVf 18 | /cAffC6fGykpvJRocY0b3CSEC+C5LHOEGPBs7KVtAoGAE/6s3PqngmclUsbew5Ci 19 | lmwzBM38IBMh97z4VTZBfx+GgBvm0M4uSRaWp0+tMTkyz8t/eqG6MlVlyh5QDVKl 20 | JVsfSgXtIZkxqckA+sh3mRx5DazKN1tLpLIzbleKweLK3CIJb89KImMLtjmmt3fC 21 | k74IP0HeEO3/YALVqZimaQ8CgYAgsuo84Pv3IYxtVgrVtdL3HYr8hPCLI1XrkOYR 22 | CQbxN+Nan2sW5VoahrgjmxUJuhgA9yxwCxHTL2OR1Wv4pibbTGNwkEp35LUUfaWZ 23 | yX9TPHkHHp8Jl2VJrYzG40b12oTAKDJHXZ543JxsmXnPuO7zaMrNBuypzPOahv78 24 | xhof2QKBgEB5yS0/qH5Y6k8vijLZkwNmp9xgn49H6S4LHy5CHenuAE8DLn1w9RO5 25 | e3GpB58EoqArGxTXrDD1xPnM6X9DDv81KWZkjGJNF75gUs+4w7BfVpdiZ1dNMntY 26 | xC8xpo/1Z2acQ6sSjIGPaTSZP9wCQmCFY+iUaEseZyTjDaWyAzQK 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/ca-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC5zCCAc8CAQAwgYoxCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VIYW4xGjAYBgNVBAoMEWFmbHlpbmdmaXNoVmlzaW9uMQ0wCwYDVQQL 4 | DAR0ZXN0MRQwEgYDVQQDDAthZmx5aW5nZmlzaDEaMBgGCSqGSIb3DQEJARYLYWZs 5 | eWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDYa6Ka07Ex 6 | L3ogOi4wkTsdKKYA2B/q6nR010HbpyDJ3MFes394fYMyCw0SwNR2Ufze+Riys1+e 7 | k179TI2I9gfADg1+x1laCSNslAsSVpDQVAJjspCpJ72fYsAKOdx4SzIGWfdokWpy 8 | G61wl372/iwPzodoo5jTkH3Kq9tOduU4h5olGBw0Y5oEeibobvXCeoMpfsN7kT9r 9 | yN9ZNFMrbo72oyil4B1J3ncAWNLq26G3zsB3fFLf/MBytuSiIkC6vIONaQzTZ2Jn 10 | VwIEWwv10nPq44ioo3u8Zpv/TcNNt3NjeB7Yg1ZOUGClnU5vTxtxCJmSG6VNndCl 11 | ZomMAn1jJDajAgMBAAGgFzAVBgkqhkiG9w0BCQcxCAwGMTIzNDU2MA0GCSqGSIb3 12 | DQEBCwUAA4IBAQBcj1wA7gJX/Z8zboNl98h2UMksXgrglnfpoOqo6yJrVNA14GFz 13 | 8gaSRNRaf8M7LFM2SzrAeihC9qzuTHiFt964cqleKpn4s5oYiTuWUzL4bFtDUjD2 14 | qt9iGhObAwbt6i2okMOxPDwkhjBW2hu1sIzXR7Py9dUKPfGmhhyLUs54gTv8Nxo9 15 | hnuDrpMs2wnG9Ky38J8Jis+x7CixCHdGFqGDTN4j8Vjjk6lnwGfcau/kSJFUD9tN 16 | oUAIBw/4RkP+fv8NlKR1oia5L1qmWDSU4wFvv/tPMquVhR/XQsVQKOiaYbnoxbFG 17 | /S+xQCP7WtEoM8Bu54tTSJBFEDzA9omNgKPY 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/ca.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/http/SSL/all/ca.p12 -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/client-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDnjCCAoYCFC+Cy4PCoLTOw+sODIKSP+nzTpqkMA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzgzN1oXDTMwMTAyNzA2MzgzN1owgYsxCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VoYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNo 8 | VmVyc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UEAwwLYWZseWluZ2Zpc2gxGjAY 9 | BgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A 10 | MIIBCgKCAQEAxvaJX7fcRSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73Ot38 11 | 3WfSv8FaSroDep0ZU8902GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG87kwX 12 | 4tusFWQOlF1NQkV1z9H3UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWMHe0i 13 | meECc7qQMpxElTkUk3ZItMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8cY7X 14 | PH8+n2yOzSj7k5tnC0oWIJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1Pu/m 15 | Wx57Hz1X/iBn1DZNm1cZ9MFfl7+8ES6mPQIDAQABMA0GCSqGSIb3DQEBCwUAA4IB 16 | AQBd9JzeFH9PLRPn5OyTSev4RG89xaq2qWPhOoREU3IDg3/ulGh6geptkfnXXCzA 17 | ZRU8KCKIp01fOhApYzCuxRWkyLTpz6pyO2XyK/dCYw/wVQK/bYnIipHIJVTpmmMy 18 | X6rF1QrhmDu4luWmKwJkkMVDBwTPtsjl0apTaR6jxHHUnP3I8TH/s2GONB+wBMKe 19 | m7L7FWfCdyrLWfKTyGnd8jcW4dqBMlKi9N/B8iFLv8ApKnKnk4lXzO4cC+RS/ohh 20 | z//My1uxt3IdwMQMftjeNryDKzN+1eNcplB6le21bksBd6a60J0Jm97rzTMnyRPe 21 | x5/u67ewVMFW42mvLtuSw/CX 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/client-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEogIBAAKCAQEAxvaJX7fcRSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73 3 | Ot383WfSv8FaSroDep0ZU8902GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG8 4 | 7kwX4tusFWQOlF1NQkV1z9H3UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWM 5 | He0imeECc7qQMpxElTkUk3ZItMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8 6 | cY7XPH8+n2yOzSj7k5tnC0oWIJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1 7 | Pu/mWx57Hz1X/iBn1DZNm1cZ9MFfl7+8ES6mPQIDAQABAoIBADzUgXmvV/wWrTQ0 8 | dY9UAIJEKbw7ooiIyjRHAsranjYmyZ2g98uatUXoCUoxTm7MYmXphCXYpqvGpnlX 9 | 4lA9kL9FPiS9ONsULVMrMIwWe16u4vMUlkPxJdhpOzqrBb4crJNXc0aftlKAfEgS 10 | 9fYCUDzFxEkrAlRXCEu8zBjJdXGqTGTJweERnrLMX18lv/IrZxL+6m8C24YMHuFh 11 | NpIVGhtYxTDhUZlVD9dxMvCpBPnENVr7Z8882MpbQORazMKCsL115eunqQcrBEib 12 | 4M1iea89zmsB7eYaah8F6mCz+CLr5IPD7XVK9PGfYEdHHVo6BdsbDL+kdPi3dwT5 13 | 48IIT00CgYEA5P7EZTLTgZuafpBXtRV+xS9kVvP26bI5DOyzsPRoiuIUYKvw/9/+ 14 | fnQxQuJuWsBY6CfHZe6S6mNe4nPqP+1F5aeK2vEF1kvnp4g9L1HQztE4NGIqlj7T 15 | m/sLgQQ9NP6Fb/sv9+JcZ+SN9aEe3o0CaADbIgrbeE5VWVmd7pd9YbcCgYEA3m0d 16 | uP4krvPWFL1wVXLNRZEeElGITskGewKR4eX8Pn90od+g+Vm27qvE8/6Ox0mBsMFt 17 | sfDQaJWqqTdoYiZusJP9L6vbzn50T9/71+D/BOvYaNVr35b4HUJ7WIDmnq+/W2ed 18 | Rx3j124ql8exbs680jznIxj7pIxQdNRLNtfQp6sCgYADxSoInICc9qnhgZDgG119 19 | 85zMTbH4AQYtb0w6EpwSBUzelpYeMFrpTBJvjnjQp7APCnCe/gGPOFmcktn9eXOY 20 | J10C48r7zz4eJQEU4Vz1ur4ZJrCazqf/Pm/fDOnREIuz30fX5fMthrbLn355nYq3 21 | maQB+HnKjkebc/1Eq1vWGwKBgCL7IDiO57AIMzwRyw/1PSlauFMDNZ/GZ9mCvvS7 22 | Gd+uZeZraEKvBGEm7JO/Di9zdQ0abqkUiYJZP3zbdPQyvSfSLniH28rvAlXpkQ8T 23 | mKfqe5+JKS0B7kWTxhhWNW7xjvPOKOMdZU7lSZeTVWlq5DFgWK2haToowyKMnMOk 24 | T3F/AoGAbxm3F6hL8pubyzzF4dMT9CHPEyoiFkRDSFijNKtylqfxGJYcHohMxKp0 25 | 4Hm5xXt2K80Sh3Jx2G1wg/n5kwz/DbYHm6PfgR688o35ZxPf6D2VuO/l7w7qdOTC 26 | gTKWj+uXWjKoWc1rod5ebDm62p9bVZ99weIWG9QHBlfLs+AunGU= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/client-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC6DCCAdACAQAwgYsxCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VoYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNoVmVyc2lvbjENMAsGA1UE 4 | CwwEdGVzdDEUMBIGA1UEAwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2Fm 5 | bHlpbmdmaXNoMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxvaJX7fc 6 | RSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73Ot383WfSv8FaSroDep0ZU890 7 | 2GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG87kwX4tusFWQOlF1NQkV1z9H3 8 | UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWMHe0imeECc7qQMpxElTkUk3ZI 9 | tMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8cY7XPH8+n2yOzSj7k5tnC0oW 10 | IJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1Pu/mWx57Hz1X/iBn1DZNm1cZ 11 | 9MFfl7+8ES6mPQIDAQABoBcwFQYJKoZIhvcNAQkHMQgMBjEyMzQ1NjANBgkqhkiG 12 | 9w0BAQsFAAOCAQEAwkG2tUNkGWXxl4e6u59JfrNdhLTBWnO4wngF6xH64jGcHbEg 13 | Io42yQrBeZ8jmjpGrYbCdNlQqtx5veGgAfOD+wXm4KGJwbAacpBqajCY+orvxy3n 14 | s1h2v3NZ/D+74twsEE8TQeHAq4Z6wqbL4y7SkQnNyaePMHhM6tK1FGnohyUu/bCR 15 | brocrjuc+wsgcvV2m6rLxkO2nLnfAFvzR7iIXobr5dr0OqHYBjbvIBIFRt6YB4cj 16 | m4V7EtKBFxVmL1/Qnim3L7/MqHcG5IEJHu/2GehfXn/7IGE9PvuZlcDeFhGStAn4 17 | DJtLKY4QWrLDWgoZmj5nPNwNZy47gqAsCF2n/Q== 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/client.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/http/SSL/all/client.p12 -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/server-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDoDCCAogCFC+Cy4PCoLTOw+sODIKSP+nzTpqjMA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzcwNFoXDTMwMTAyNzA2MzcwNFowgY0xCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNo 8 | VmVyc2lvbjENMAsGA1UECwwEdGVzdDEWMBQGA1UEAwwNMTkyLjE2OC4xMzcuMjEa 9 | MBgGCSqGSIb3DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IB 10 | DwAwggEKAoIBAQDDgXIFJJ8gHBVK0byvlOn8YDLZPLQFOvgzkCy+5swGE3cGewog 11 | ujsEXbFPEzNJb/GAOxwDHppoJOw7YsU4oEvpW82SftAeJMSBFAaAUxidvqZ7Dktn 12 | MJSdNnPqOaD+am+wn7Iw+qDoFw0oHWTnh7/ANQHD+mrBSXD1/h4+nsL8+3k5JYo4 13 | a/xn1SwyETPs31fx6mmV01KJvc5YoIMudtGBZnN+jpKQ4pX4iZK1nBMja+d8NCDL 14 | Ef3dn7ahwpJrvDPSBRCOrw4Hvtx0n9LFwhWeOoFbwhp63MPK3TiQ3wNGMP/m2igw 15 | Oob4Yj/uwCRpOAyzWRLp2oaeg3HtfYDWs2/LAgMBAAEwDQYJKoZIhvcNAQELBQAD 16 | ggEBAKMFHOpoBpHbjpo39iDmaqgpUpkoLUG6MWyxEnugSnDpFnv7bCGX+mzxPYSc 17 | cPtScN3ZKWPNGvGs4W95TxPwHcpQSuQGEQQRATh3lwlvrJSqQrWYjehQT5sMlDrz 18 | ziDrOEN2CGzCE0Arv7DvG1aj9+bjENHpf16sYq2SBB3SIhfEQQ458CnHa5El0HVQ 19 | F8k2hQFym+z4ZZA3CjmiSf8fFgatXplvmQlZfaR98AL1ZBdw9FQMGaBzQ/BZG3Qc 20 | VP9FwfFbyN/w5oB5rGsTty+FQd6XfsAZLaE7yzQqkiXsW6134gap2EmzHXf2QcVV 21 | dUZBz1EtA3HkT5S5kPI5MzGL6Wc= 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/server-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAw4FyBSSfIBwVStG8r5Tp/GAy2Ty0BTr4M5AsvubMBhN3BnsK 3 | ILo7BF2xTxMzSW/xgDscAx6aaCTsO2LFOKBL6VvNkn7QHiTEgRQGgFMYnb6mew5L 4 | ZzCUnTZz6jmg/mpvsJ+yMPqg6BcNKB1k54e/wDUBw/pqwUlw9f4ePp7C/Pt5OSWK 5 | OGv8Z9UsMhEz7N9X8eppldNSib3OWKCDLnbRgWZzfo6SkOKV+ImStZwTI2vnfDQg 6 | yxH93Z+2ocKSa7wz0gUQjq8OB77cdJ/SxcIVnjqBW8IaetzDyt04kN8DRjD/5too 7 | MDqG+GI/7sAkaTgMs1kS6dqGnoNx7X2A1rNvywIDAQABAoIBACcqYnYnTP14wsc3 8 | Vy5xjaJyfx1H7ORzWM+znVMtF0hMU/bnZTMDO9l3D5NAzHB0zZObw9PYKKSeaPjI 9 | o6vhaPO54WfsobK4OOmG4nqIqxDG5cEXLwHgGJWaGASfQOJW3kMq6t6nBt8X5xnX 10 | MaS0bDSMKeth2ksYdFnDa7mtwnA9cmvsVUFWH0Kb3GIHEvIkrBW0NySx09Torpua 11 | gPENHC/SLH9Wp2iq0buUbxqZ8zhQd23LUyuuAlzFE+x4gm1ElVWiVfdKoege3kyZ 12 | fWJy1j0ZSQOqbIoBg782R5W21o2i4ZJHm6zyHrxLPpTdgO7n0TA4j3TfIBekKexW 13 | /tBHD0kCgYEA+jTo6E1LxVsK5yt6FkFXFpcmKrH+uPU7c39JWET9AXsU4KVvEAoq 14 | aE7Z9UnBGHf1tU/SZrmqL9mD5KJMZdJiUSAuTmmdE7GITx9O2/wnf3VA+dmHgBQJ 15 | aHyRG/3vNDxOO2HPIjl5hHpawotyqdV/TXOnGkLV2rrkQbHyS1OZPXcCgYEAyAhM 16 | IW180qLjwTdFGrizjsbrsdtUXYxjPoL6YbFgcKNG8MiQzY0rSqZZM8um67qAXCE2 17 | to7ge2xhOPre9n6ARFctAmuQ+EZTcO8Rjd2V+LBYRZqJD/ieA0EnkyV7TE8tF9XD 18 | wYgfIwIdWbPytzrZ1bDzAZMPQo+iqu3IuY2EZU0CgYAZXJGbMnKSv6a8RfDrHpZo 19 | SMvqmf4620i6bVWO5/dJViOIndxDIPSpfAyly2MSSt6SEVQ/a2Rv0zmGTFk4HPow 20 | RPXMpvHwFBfABWll7QpH5ie+66jLd7x4ZeADmVrMzawUYtavHmpN3mUiwSXPRz/P 21 | JwDyLYIl2LnYWuQ3dHLdAwKBgBTU0GDWzx38eq1/fQHYZFKlIpyGE9YeLaOv7jVI 22 | TJvOVS/0IyhU4EJI6pc7SSnZZU6y4sjGPlh8I+/UKG4RJHh5f6V14EYKxNvI+dIF 23 | Vn3sl3TAMC/qm0IJgf6P87Qxtqd5yoYYD+4MZVQXKlqslUzsvZHXZ8ptvOoCE1pH 24 | g5ctAoGBAOTr9bzuXG73yvd8/x84ElqTgc7Fu+RtbEzcNoV+dzZiHXM6/ejb1NjY 25 | mw1ScFEYWSn8EMNd47QjIWHFwEMPQ+uE07ejcIcXEIJNlByBjjCz7A3zu/DoTpnK 26 | EtFdgrjQcMJ6XOYt+jOQAtWZLsxg9LAJ+UxEwNgYXItf9T7tnHs0 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/server-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC6jCCAdICAQAwgY0xCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNoVmVyc2lvbjENMAsGA1UE 4 | CwwEdGVzdDEWMBQGA1UEAwwNMTkyLjE2OC4xMzcuMjEaMBgGCSqGSIb3DQEJARYL 5 | YWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDgXIF 6 | JJ8gHBVK0byvlOn8YDLZPLQFOvgzkCy+5swGE3cGewogujsEXbFPEzNJb/GAOxwD 7 | HppoJOw7YsU4oEvpW82SftAeJMSBFAaAUxidvqZ7DktnMJSdNnPqOaD+am+wn7Iw 8 | +qDoFw0oHWTnh7/ANQHD+mrBSXD1/h4+nsL8+3k5JYo4a/xn1SwyETPs31fx6mmV 9 | 01KJvc5YoIMudtGBZnN+jpKQ4pX4iZK1nBMja+d8NCDLEf3dn7ahwpJrvDPSBRCO 10 | rw4Hvtx0n9LFwhWeOoFbwhp63MPK3TiQ3wNGMP/m2igwOob4Yj/uwCRpOAyzWRLp 11 | 2oaeg3HtfYDWs2/LAgMBAAGgFzAVBgkqhkiG9w0BCQcxCAwGMTIzNDU2MA0GCSqG 12 | SIb3DQEBCwUAA4IBAQBpIJfk4hmga2x+rHmYB0xc6WIvUAblrpkwaaO2k9+ZbeLj 13 | d+8IDWfrA5H5RUQwaI4Q9fmOLTtR2aNMj6OoOCEj/F7DI4MXMr+Z+NA1zLeNla5l 14 | BwX/MYJYP/ElZLb9ygG/wZeoFLnqhz6LW7iJjdB2Vtg6o8goeIpzi1nfYZHc4OnI 15 | y9THVZA3xR7JTBXM7p/K3dBcfYz9H7Uu7CW3v0BnVK1v+Qxa35C+dR3Eug/sdh+j 16 | zPSzxuuPQAYfXSozQgGxN8pNAvOeVzqMVcJNKnkcAr0HOAtvHo1ulmGc2lf8W8b0 17 | ObP19R28lV0vbkK1jkmXvTw80L15kxfhAlyVjyUH 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/all/server.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/http/SSL/all/server.p12 -------------------------------------------------------------------------------- /C_webserver/http/SSL/ca/ca-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDnTCCAoUCFE6LmALvewpst3nJfL070p2PFkR3MA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzU0OVoXDTMwMTAyNzA2MzU0OVowgYoxCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VIYW4xGjAYBgNVBAoMEWFmbHlpbmdmaXNo 8 | VmlzaW9uMQ0wCwYDVQQLDAR0ZXN0MRQwEgYDVQQDDAthZmx5aW5nZmlzaDEaMBgG 9 | CSqGSIb3DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw 10 | ggEKAoIBAQDYa6Ka07ExL3ogOi4wkTsdKKYA2B/q6nR010HbpyDJ3MFes394fYMy 11 | Cw0SwNR2Ufze+Riys1+ek179TI2I9gfADg1+x1laCSNslAsSVpDQVAJjspCpJ72f 12 | YsAKOdx4SzIGWfdokWpyG61wl372/iwPzodoo5jTkH3Kq9tOduU4h5olGBw0Y5oE 13 | eibobvXCeoMpfsN7kT9ryN9ZNFMrbo72oyil4B1J3ncAWNLq26G3zsB3fFLf/MBy 14 | tuSiIkC6vIONaQzTZ2JnVwIEWwv10nPq44ioo3u8Zpv/TcNNt3NjeB7Yg1ZOUGCl 15 | nU5vTxtxCJmSG6VNndClZomMAn1jJDajAgMBAAEwDQYJKoZIhvcNAQELBQADggEB 16 | AHmTRk1QSZpUhsTLNluH6JiXDq0MyroypPfLhw9DZdh03LA+phGw2Bs9AeWf5qwV 17 | 4Z2txU5FKNyQUODKqC3qtFC8riLqncwhZ87QEEWUuTRWBbpTmsNjZl40Tr0vir9v 18 | WAy7gmke18YfRjdRpep7DDmHb3+PxkllSzKD4N78Ruhm4vIHTagoOiYmkgRMt94W 19 | T7YNI4LE8OGq+5WtXb6V8H5gzoWexBsh87fIJuYpB5xEMnV0BSYVs5Nnlj62qAqq 20 | ijwKav+Nok5PfL5Ozn+aple4UL8tk0qjF6BdFyQPRZ5Iqx5KntMeQ0EhrMMmhhzk 21 | Dv1+KXmmHdU5OaQUpyuDsN0= 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/ca/ca-cert.srl: -------------------------------------------------------------------------------- 1 | 2F82CB83C2A0B4CEC3EB0E0C82923FE9F34E9AA5 2 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/ca/ca-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEA2GuimtOxMS96IDouMJE7HSimANgf6up0dNdB26cgydzBXrN/ 3 | eH2DMgsNEsDUdlH83vkYsrNfnpNe/UyNiPYHwA4NfsdZWgkjbJQLElaQ0FQCY7KQ 4 | qSe9n2LACjnceEsyBln3aJFqchutcJd+9v4sD86HaKOY05B9yqvbTnblOIeaJRgc 5 | NGOaBHom6G71wnqDKX7De5E/a8jfWTRTK26O9qMopeAdSd53AFjS6tuht87Ad3xS 6 | 3/zAcrbkoiJAuryDjWkM02diZ1cCBFsL9dJz6uOIqKN7vGab/03DTbdzY3ge2INW 7 | TlBgpZ1Ob08bcQiZkhulTZ3QpWaJjAJ9YyQ2owIDAQABAoIBAQCD5HTgboraMtj2 8 | sv5bUub3ykIA2bX58JCwdE8KkjwFSaf/Et1ojPVbliiNeT8CLM0zBhPrNC3d8mo9 9 | bF4FTgtDHE1VKiBmIpOYJFDrCB6RF+Gs6LIIpNOHQyNOGB0ooosGG+YPsC9zAzMc 10 | HvedhyFLMM6NEsaciL5guYOZuhPP8pUzgHlX+QbYi5BSebbxIUtVkExgyLfwTpIO 11 | f79X5pQJa6PKMoApBU+eH+lhH2e4UHYJhxNeqXnxvYBWM01LsPHT+AvEsFqZAotH 12 | R9sPwGvfw+euf51AV5Xe5IIO0judyFe2NRgHNSCJtqFTQrP5c0r+kzg8c44qZe/W 13 | mRDxrFuhAoGBAOypoKYNPuGnfqHsAWg7GDrBDJNxFg57uavljqRAe8l9mf1t8SUs 14 | HKGtCyNKyMqeB+fhREtTTnZvD48B/vdLPr17Ju+kmgf3pMdNG68/xl9WsnjBz0aT 15 | z7saf4olr4aRTZPyBG5w/o1BJhwUwa526sFhalpBQHD/98VKvvfUuZJPAoGBAOoa 16 | mARXRvsQfM8ET8B62F7f5eGu0RNLCMAmFE0pG/kIIEl1yM3Xa+OcEYQIhQdNg5TP 17 | xSNHeimJDdlvTIRIQAbNdVDQX/vzKbPlqJ5frK6dEGBqqpkY+F4Leo8TPH5ygmVf 18 | /cAffC6fGykpvJRocY0b3CSEC+C5LHOEGPBs7KVtAoGAE/6s3PqngmclUsbew5Ci 19 | lmwzBM38IBMh97z4VTZBfx+GgBvm0M4uSRaWp0+tMTkyz8t/eqG6MlVlyh5QDVKl 20 | JVsfSgXtIZkxqckA+sh3mRx5DazKN1tLpLIzbleKweLK3CIJb89KImMLtjmmt3fC 21 | k74IP0HeEO3/YALVqZimaQ8CgYAgsuo84Pv3IYxtVgrVtdL3HYr8hPCLI1XrkOYR 22 | CQbxN+Nan2sW5VoahrgjmxUJuhgA9yxwCxHTL2OR1Wv4pibbTGNwkEp35LUUfaWZ 23 | yX9TPHkHHp8Jl2VJrYzG40b12oTAKDJHXZ543JxsmXnPuO7zaMrNBuypzPOahv78 24 | xhof2QKBgEB5yS0/qH5Y6k8vijLZkwNmp9xgn49H6S4LHy5CHenuAE8DLn1w9RO5 25 | e3GpB58EoqArGxTXrDD1xPnM6X9DDv81KWZkjGJNF75gUs+4w7BfVpdiZ1dNMntY 26 | xC8xpo/1Z2acQ6sSjIGPaTSZP9wCQmCFY+iUaEseZyTjDaWyAzQK 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/ca/ca-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC5zCCAc8CAQAwgYoxCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VIYW4xGjAYBgNVBAoMEWFmbHlpbmdmaXNoVmlzaW9uMQ0wCwYDVQQL 4 | DAR0ZXN0MRQwEgYDVQQDDAthZmx5aW5nZmlzaDEaMBgGCSqGSIb3DQEJARYLYWZs 5 | eWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDYa6Ka07Ex 6 | L3ogOi4wkTsdKKYA2B/q6nR010HbpyDJ3MFes394fYMyCw0SwNR2Ufze+Riys1+e 7 | k179TI2I9gfADg1+x1laCSNslAsSVpDQVAJjspCpJ72fYsAKOdx4SzIGWfdokWpy 8 | G61wl372/iwPzodoo5jTkH3Kq9tOduU4h5olGBw0Y5oEeibobvXCeoMpfsN7kT9r 9 | yN9ZNFMrbo72oyil4B1J3ncAWNLq26G3zsB3fFLf/MBytuSiIkC6vIONaQzTZ2Jn 10 | VwIEWwv10nPq44ioo3u8Zpv/TcNNt3NjeB7Yg1ZOUGClnU5vTxtxCJmSG6VNndCl 11 | ZomMAn1jJDajAgMBAAGgFzAVBgkqhkiG9w0BCQcxCAwGMTIzNDU2MA0GCSqGSIb3 12 | DQEBCwUAA4IBAQBcj1wA7gJX/Z8zboNl98h2UMksXgrglnfpoOqo6yJrVNA14GFz 13 | 8gaSRNRaf8M7LFM2SzrAeihC9qzuTHiFt964cqleKpn4s5oYiTuWUzL4bFtDUjD2 14 | qt9iGhObAwbt6i2okMOxPDwkhjBW2hu1sIzXR7Py9dUKPfGmhhyLUs54gTv8Nxo9 15 | hnuDrpMs2wnG9Ky38J8Jis+x7CixCHdGFqGDTN4j8Vjjk6lnwGfcau/kSJFUD9tN 16 | oUAIBw/4RkP+fv8NlKR1oia5L1qmWDSU4wFvv/tPMquVhR/XQsVQKOiaYbnoxbFG 17 | /S+xQCP7WtEoM8Bu54tTSJBFEDzA9omNgKPY 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/ca/ca.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/http/SSL/ca/ca.p12 -------------------------------------------------------------------------------- /C_webserver/http/SSL/client_ip/client-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDnjCCAoYCFC+Cy4PCoLTOw+sODIKSP+nzTpqkMA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzgzN1oXDTMwMTAyNzA2MzgzN1owgYsxCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VoYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNo 8 | VmVyc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UEAwwLYWZseWluZ2Zpc2gxGjAY 9 | BgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A 10 | MIIBCgKCAQEAxvaJX7fcRSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73Ot38 11 | 3WfSv8FaSroDep0ZU8902GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG87kwX 12 | 4tusFWQOlF1NQkV1z9H3UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWMHe0i 13 | meECc7qQMpxElTkUk3ZItMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8cY7X 14 | PH8+n2yOzSj7k5tnC0oWIJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1Pu/m 15 | Wx57Hz1X/iBn1DZNm1cZ9MFfl7+8ES6mPQIDAQABMA0GCSqGSIb3DQEBCwUAA4IB 16 | AQBd9JzeFH9PLRPn5OyTSev4RG89xaq2qWPhOoREU3IDg3/ulGh6geptkfnXXCzA 17 | ZRU8KCKIp01fOhApYzCuxRWkyLTpz6pyO2XyK/dCYw/wVQK/bYnIipHIJVTpmmMy 18 | X6rF1QrhmDu4luWmKwJkkMVDBwTPtsjl0apTaR6jxHHUnP3I8TH/s2GONB+wBMKe 19 | m7L7FWfCdyrLWfKTyGnd8jcW4dqBMlKi9N/B8iFLv8ApKnKnk4lXzO4cC+RS/ohh 20 | z//My1uxt3IdwMQMftjeNryDKzN+1eNcplB6le21bksBd6a60J0Jm97rzTMnyRPe 21 | x5/u67ewVMFW42mvLtuSw/CX 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/client_ip/client-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEogIBAAKCAQEAxvaJX7fcRSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73 3 | Ot383WfSv8FaSroDep0ZU8902GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG8 4 | 7kwX4tusFWQOlF1NQkV1z9H3UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWM 5 | He0imeECc7qQMpxElTkUk3ZItMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8 6 | cY7XPH8+n2yOzSj7k5tnC0oWIJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1 7 | Pu/mWx57Hz1X/iBn1DZNm1cZ9MFfl7+8ES6mPQIDAQABAoIBADzUgXmvV/wWrTQ0 8 | dY9UAIJEKbw7ooiIyjRHAsranjYmyZ2g98uatUXoCUoxTm7MYmXphCXYpqvGpnlX 9 | 4lA9kL9FPiS9ONsULVMrMIwWe16u4vMUlkPxJdhpOzqrBb4crJNXc0aftlKAfEgS 10 | 9fYCUDzFxEkrAlRXCEu8zBjJdXGqTGTJweERnrLMX18lv/IrZxL+6m8C24YMHuFh 11 | NpIVGhtYxTDhUZlVD9dxMvCpBPnENVr7Z8882MpbQORazMKCsL115eunqQcrBEib 12 | 4M1iea89zmsB7eYaah8F6mCz+CLr5IPD7XVK9PGfYEdHHVo6BdsbDL+kdPi3dwT5 13 | 48IIT00CgYEA5P7EZTLTgZuafpBXtRV+xS9kVvP26bI5DOyzsPRoiuIUYKvw/9/+ 14 | fnQxQuJuWsBY6CfHZe6S6mNe4nPqP+1F5aeK2vEF1kvnp4g9L1HQztE4NGIqlj7T 15 | m/sLgQQ9NP6Fb/sv9+JcZ+SN9aEe3o0CaADbIgrbeE5VWVmd7pd9YbcCgYEA3m0d 16 | uP4krvPWFL1wVXLNRZEeElGITskGewKR4eX8Pn90od+g+Vm27qvE8/6Ox0mBsMFt 17 | sfDQaJWqqTdoYiZusJP9L6vbzn50T9/71+D/BOvYaNVr35b4HUJ7WIDmnq+/W2ed 18 | Rx3j124ql8exbs680jznIxj7pIxQdNRLNtfQp6sCgYADxSoInICc9qnhgZDgG119 19 | 85zMTbH4AQYtb0w6EpwSBUzelpYeMFrpTBJvjnjQp7APCnCe/gGPOFmcktn9eXOY 20 | J10C48r7zz4eJQEU4Vz1ur4ZJrCazqf/Pm/fDOnREIuz30fX5fMthrbLn355nYq3 21 | maQB+HnKjkebc/1Eq1vWGwKBgCL7IDiO57AIMzwRyw/1PSlauFMDNZ/GZ9mCvvS7 22 | Gd+uZeZraEKvBGEm7JO/Di9zdQ0abqkUiYJZP3zbdPQyvSfSLniH28rvAlXpkQ8T 23 | mKfqe5+JKS0B7kWTxhhWNW7xjvPOKOMdZU7lSZeTVWlq5DFgWK2haToowyKMnMOk 24 | T3F/AoGAbxm3F6hL8pubyzzF4dMT9CHPEyoiFkRDSFijNKtylqfxGJYcHohMxKp0 25 | 4Hm5xXt2K80Sh3Jx2G1wg/n5kwz/DbYHm6PfgR688o35ZxPf6D2VuO/l7w7qdOTC 26 | gTKWj+uXWjKoWc1rod5ebDm62p9bVZ99weIWG9QHBlfLs+AunGU= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/client_ip/client-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC6DCCAdACAQAwgYsxCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VoYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNoVmVyc2lvbjENMAsGA1UE 4 | CwwEdGVzdDEUMBIGA1UEAwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2Fm 5 | bHlpbmdmaXNoMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxvaJX7fc 6 | RSDqaAvhBwI1TnFTjLk907VeswMrX8BWEkhwYt73Ot383WfSv8FaSroDep0ZU890 7 | 2GW6haU07x7xtsQIdS08ZdC1AdVmZLDeehgd+RG87kwX4tusFWQOlF1NQkV1z9H3 8 | UJdBsMBV+MWnS3hUGyDD0+nUDyQkaEZmlUHP4SWMHe0imeECc7qQMpxElTkUk3ZI 9 | tMnSSWW+b+LAUMVil+svKauG3OYvVslOsGv0n0R8cY7XPH8+n2yOzSj7k5tnC0oW 10 | IJzwpMWjIyoRRBD0addz1GT3VsyC9JEqOfdCotr1Pu/mWx57Hz1X/iBn1DZNm1cZ 11 | 9MFfl7+8ES6mPQIDAQABoBcwFQYJKoZIhvcNAQkHMQgMBjEyMzQ1NjANBgkqhkiG 12 | 9w0BAQsFAAOCAQEAwkG2tUNkGWXxl4e6u59JfrNdhLTBWnO4wngF6xH64jGcHbEg 13 | Io42yQrBeZ8jmjpGrYbCdNlQqtx5veGgAfOD+wXm4KGJwbAacpBqajCY+orvxy3n 14 | s1h2v3NZ/D+74twsEE8TQeHAq4Z6wqbL4y7SkQnNyaePMHhM6tK1FGnohyUu/bCR 15 | brocrjuc+wsgcvV2m6rLxkO2nLnfAFvzR7iIXobr5dr0OqHYBjbvIBIFRt6YB4cj 16 | m4V7EtKBFxVmL1/Qnim3L7/MqHcG5IEJHu/2GehfXn/7IGE9PvuZlcDeFhGStAn4 17 | DJtLKY4QWrLDWgoZmj5nPNwNZy47gqAsCF2n/Q== 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/client_ip/client.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/http/SSL/client_ip/client.p12 -------------------------------------------------------------------------------- /C_webserver/http/SSL/server/server-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDoDCCAogCFC+Cy4PCoLTOw+sODIKSP+nzTpqjMA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA2MzcwNFoXDTMwMTAyNzA2MzcwNFowgY0xCzAJBgNVBAYTAmNuMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNo 8 | VmVyc2lvbjENMAsGA1UECwwEdGVzdDEWMBQGA1UEAwwNMTkyLjE2OC4xMzcuMjEa 9 | MBgGCSqGSIb3DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IB 10 | DwAwggEKAoIBAQDDgXIFJJ8gHBVK0byvlOn8YDLZPLQFOvgzkCy+5swGE3cGewog 11 | ujsEXbFPEzNJb/GAOxwDHppoJOw7YsU4oEvpW82SftAeJMSBFAaAUxidvqZ7Dktn 12 | MJSdNnPqOaD+am+wn7Iw+qDoFw0oHWTnh7/ANQHD+mrBSXD1/h4+nsL8+3k5JYo4 13 | a/xn1SwyETPs31fx6mmV01KJvc5YoIMudtGBZnN+jpKQ4pX4iZK1nBMja+d8NCDL 14 | Ef3dn7ahwpJrvDPSBRCOrw4Hvtx0n9LFwhWeOoFbwhp63MPK3TiQ3wNGMP/m2igw 15 | Oob4Yj/uwCRpOAyzWRLp2oaeg3HtfYDWs2/LAgMBAAEwDQYJKoZIhvcNAQELBQAD 16 | ggEBAKMFHOpoBpHbjpo39iDmaqgpUpkoLUG6MWyxEnugSnDpFnv7bCGX+mzxPYSc 17 | cPtScN3ZKWPNGvGs4W95TxPwHcpQSuQGEQQRATh3lwlvrJSqQrWYjehQT5sMlDrz 18 | ziDrOEN2CGzCE0Arv7DvG1aj9+bjENHpf16sYq2SBB3SIhfEQQ458CnHa5El0HVQ 19 | F8k2hQFym+z4ZZA3CjmiSf8fFgatXplvmQlZfaR98AL1ZBdw9FQMGaBzQ/BZG3Qc 20 | VP9FwfFbyN/w5oB5rGsTty+FQd6XfsAZLaE7yzQqkiXsW6134gap2EmzHXf2QcVV 21 | dUZBz1EtA3HkT5S5kPI5MzGL6Wc= 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/server/server-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAw4FyBSSfIBwVStG8r5Tp/GAy2Ty0BTr4M5AsvubMBhN3BnsK 3 | ILo7BF2xTxMzSW/xgDscAx6aaCTsO2LFOKBL6VvNkn7QHiTEgRQGgFMYnb6mew5L 4 | ZzCUnTZz6jmg/mpvsJ+yMPqg6BcNKB1k54e/wDUBw/pqwUlw9f4ePp7C/Pt5OSWK 5 | OGv8Z9UsMhEz7N9X8eppldNSib3OWKCDLnbRgWZzfo6SkOKV+ImStZwTI2vnfDQg 6 | yxH93Z+2ocKSa7wz0gUQjq8OB77cdJ/SxcIVnjqBW8IaetzDyt04kN8DRjD/5too 7 | MDqG+GI/7sAkaTgMs1kS6dqGnoNx7X2A1rNvywIDAQABAoIBACcqYnYnTP14wsc3 8 | Vy5xjaJyfx1H7ORzWM+znVMtF0hMU/bnZTMDO9l3D5NAzHB0zZObw9PYKKSeaPjI 9 | o6vhaPO54WfsobK4OOmG4nqIqxDG5cEXLwHgGJWaGASfQOJW3kMq6t6nBt8X5xnX 10 | MaS0bDSMKeth2ksYdFnDa7mtwnA9cmvsVUFWH0Kb3GIHEvIkrBW0NySx09Torpua 11 | gPENHC/SLH9Wp2iq0buUbxqZ8zhQd23LUyuuAlzFE+x4gm1ElVWiVfdKoege3kyZ 12 | fWJy1j0ZSQOqbIoBg782R5W21o2i4ZJHm6zyHrxLPpTdgO7n0TA4j3TfIBekKexW 13 | /tBHD0kCgYEA+jTo6E1LxVsK5yt6FkFXFpcmKrH+uPU7c39JWET9AXsU4KVvEAoq 14 | aE7Z9UnBGHf1tU/SZrmqL9mD5KJMZdJiUSAuTmmdE7GITx9O2/wnf3VA+dmHgBQJ 15 | aHyRG/3vNDxOO2HPIjl5hHpawotyqdV/TXOnGkLV2rrkQbHyS1OZPXcCgYEAyAhM 16 | IW180qLjwTdFGrizjsbrsdtUXYxjPoL6YbFgcKNG8MiQzY0rSqZZM8um67qAXCE2 17 | to7ge2xhOPre9n6ARFctAmuQ+EZTcO8Rjd2V+LBYRZqJD/ieA0EnkyV7TE8tF9XD 18 | wYgfIwIdWbPytzrZ1bDzAZMPQo+iqu3IuY2EZU0CgYAZXJGbMnKSv6a8RfDrHpZo 19 | SMvqmf4620i6bVWO5/dJViOIndxDIPSpfAyly2MSSt6SEVQ/a2Rv0zmGTFk4HPow 20 | RPXMpvHwFBfABWll7QpH5ie+66jLd7x4ZeADmVrMzawUYtavHmpN3mUiwSXPRz/P 21 | JwDyLYIl2LnYWuQ3dHLdAwKBgBTU0GDWzx38eq1/fQHYZFKlIpyGE9YeLaOv7jVI 22 | TJvOVS/0IyhU4EJI6pc7SSnZZU6y4sjGPlh8I+/UKG4RJHh5f6V14EYKxNvI+dIF 23 | Vn3sl3TAMC/qm0IJgf6P87Qxtqd5yoYYD+4MZVQXKlqslUzsvZHXZ8ptvOoCE1pH 24 | g5ctAoGBAOTr9bzuXG73yvd8/x84ElqTgc7Fu+RtbEzcNoV+dzZiHXM6/ejb1NjY 25 | mw1ScFEYWSn8EMNd47QjIWHFwEMPQ+uE07ejcIcXEIJNlByBjjCz7A3zu/DoTpnK 26 | EtFdgrjQcMJ6XOYt+jOQAtWZLsxg9LAJ+UxEwNgYXItf9T7tnHs0 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/server/server-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC6jCCAdICAQAwgY0xCzAJBgNVBAYTAmNuMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNoVmVyc2lvbjENMAsGA1UE 4 | CwwEdGVzdDEWMBQGA1UEAwwNMTkyLjE2OC4xMzcuMjEaMBgGCSqGSIb3DQEJARYL 5 | YWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDgXIF 6 | JJ8gHBVK0byvlOn8YDLZPLQFOvgzkCy+5swGE3cGewogujsEXbFPEzNJb/GAOxwD 7 | HppoJOw7YsU4oEvpW82SftAeJMSBFAaAUxidvqZ7DktnMJSdNnPqOaD+am+wn7Iw 8 | +qDoFw0oHWTnh7/ANQHD+mrBSXD1/h4+nsL8+3k5JYo4a/xn1SwyETPs31fx6mmV 9 | 01KJvc5YoIMudtGBZnN+jpKQ4pX4iZK1nBMja+d8NCDLEf3dn7ahwpJrvDPSBRCO 10 | rw4Hvtx0n9LFwhWeOoFbwhp63MPK3TiQ3wNGMP/m2igwOob4Yj/uwCRpOAyzWRLp 11 | 2oaeg3HtfYDWs2/LAgMBAAGgFzAVBgkqhkiG9w0BCQcxCAwGMTIzNDU2MA0GCSqG 12 | SIb3DQEBCwUAA4IBAQBpIJfk4hmga2x+rHmYB0xc6WIvUAblrpkwaaO2k9+ZbeLj 13 | d+8IDWfrA5H5RUQwaI4Q9fmOLTtR2aNMj6OoOCEj/F7DI4MXMr+Z+NA1zLeNla5l 14 | BwX/MYJYP/ElZLb9ygG/wZeoFLnqhz6LW7iJjdB2Vtg6o8goeIpzi1nfYZHc4OnI 15 | y9THVZA3xR7JTBXM7p/K3dBcfYz9H7Uu7CW3v0BnVK1v+Qxa35C+dR3Eug/sdh+j 16 | zPSzxuuPQAYfXSozQgGxN8pNAvOeVzqMVcJNKnkcAr0HOAtvHo1ulmGc2lf8W8b0 17 | ObP19R28lV0vbkK1jkmXvTw80L15kxfhAlyVjyUH 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/server/server.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/http/SSL/server/server.p12 -------------------------------------------------------------------------------- /C_webserver/http/SSL/server_domain/server-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIIDpjCCAo4CFC+Cy4PCoLTOw+sODIKSP+nzTpqlMA0GCSqGSIb3DQEBCwUAMIGK 3 | MQswCQYDVQQGEwJjbjEOMAwGA1UECAwFSHVCZWkxDjAMBgNVBAcMBVd1SGFuMRow 4 | GAYDVQQKDBFhZmx5aW5nZmlzaFZpc2lvbjENMAsGA1UECwwEdGVzdDEUMBIGA1UE 5 | AwwLYWZseWluZ2Zpc2gxGjAYBgkqhkiG9w0BCQEWC2FmbHlpbmdmaXNoMB4XDTIw 6 | MTAyOTA4MzgzMFoXDTMwMTAyNzA4MzgzMFowgZMxCzAJBgNVBAYTAkNOMQ4wDAYD 7 | VQQIDAVIdUJlaTEOMAwGA1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNo 8 | VmVyc2lvbjENMAsGA1UECwwEdGVzdDEcMBoGA1UEAwwTd3d3LmFmbHlpbmdmaXNo 9 | LmNvbTEaMBgGCSqGSIb3DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEB 10 | AQUAA4IBDwAwggEKAoIBAQC/JgIC+GtfR/vDegZskJGEVi1uCPKzcn62WJh7/Ixn 11 | wvkzmbp21BlCeDerQVQus5Qc26TBbIBO2XxVMlG2Adqy8i2kPbd/mJ/ecLRG9zpi 12 | J5DBCDvWDjluW9dg/ujw4MOqnD6hRMSGa7vlY/owFDJusL/83I/dNEqUdJHE/UNC 13 | pItMjATAdMv7ElWzZ84Hy54DA+nhcT53+oGtdKZQWkARYA5634eHfKvrHcYVcqdr 14 | Q/QwE1v4dRAfLYi/Rop+ogr8IY/OPjkP+gNnNJk9PUfUQw8HPqnPlQPwRy20Cuv3 15 | nR7YNF0t/j/KIFR8/6VeOPUMAOu6UL2G4P7UxWpt1TmhAgMBAAEwDQYJKoZIhvcN 16 | AQELBQADggEBAMlct80kKtw81bqFhM8JjALqEaBYpkbyfb2bp07Dp4GmmUBtqtw5 17 | 38AbQuShRVGcEPVdoJuNFyZ4Dec6im/kmfeh420V5x28o3vozOce5MOzdGGIlT5L 18 | Agj3lXOogHjtfKJTjTo6gbjcZMoP9K9OmN/6tjMbYKmfJHKHtxpAsTfWPXTeW6vy 19 | PYf8Quu/pCtbqsh0blaTZHfml8whSEN3f87EhWXkzypX3vZotXQuRQ7y/TP/x8/I 20 | slJ3WEdzTVZ6KWpswa8mUIZdzJByOlosw7zk5F213YKojt5PVl5huWELBMVjZwMo 21 | VenTGhv8OIP6gkfngLh6iGT/fw63Ev2P410= 22 | -----END CERTIFICATE----- 23 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/server_domain/server-key.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAvyYCAvhrX0f7w3oGbJCRhFYtbgjys3J+tliYe/yMZ8L5M5m6 3 | dtQZQng3q0FULrOUHNukwWyATtl8VTJRtgHasvItpD23f5if3nC0Rvc6YieQwQg7 4 | 1g45blvXYP7o8ODDqpw+oUTEhmu75WP6MBQybrC//NyP3TRKlHSRxP1DQqSLTIwE 5 | wHTL+xJVs2fOB8ueAwPp4XE+d/qBrXSmUFpAEWAOet+Hh3yr6x3GFXKna0P0MBNb 6 | +HUQHy2Iv0aKfqIK/CGPzj45D/oDZzSZPT1H1EMPBz6pz5UD8EcttArr950e2DRd 7 | Lf4/yiBUfP+lXjj1DADrulC9huD+1MVqbdU5oQIDAQABAoIBADEoPyAwbryEMJTm 8 | zrwguauE1g4UMwY/DaMrSZupKRqOI7RHdpKUnSJg9EAQfuu7tv1s5wPvOVgNylHG 9 | rQjXlTyr110DmiswPvzfkx0k+1i+wBVEXs7/vXlKGSuSoqk/xFId+GVU4A2Jqzqk 10 | 6XRv3UBmKBmJR14l0oA3Mj2svB1o7LF0BnVS2oJ5nAzvRCWWGfLQJZi2gdv4EUQx 11 | A+kvF3Kpt8jBp4nhI1TpwBkOhdG5KBmjwE6JsImT3h2rtYGIAsA8a4zfm2o5/kfJ 12 | pb0uuH5FxfsWOI9/5mLsrmETZTa7fhCWDVlWCqntoZIlkpJMxGJANiXcc4vJm24R 13 | MraqOrkCgYEA/Sa4w9OsKESU81fGTke2lF4eXIKpAWyXnecpBuZKJXMw5XpozQLx 14 | ZBdM+4h3VqDtA7CfJfrFdtKXb/pB1bs/DIgHTNsDT15A7McbPR5cuUDmbVBx0pGz 15 | ArkhBN3/urNHnfjL1hcPJ2XJTxeugp84pTQeP1ZFQ7aRBV6apqFGtgMCgYEAwUyr 16 | H/le9H/l0VKO3E0BJZQYjTSN7u8a37Mu2kjvYG544dFTJpyX9d2FMaxxx1LgWCMq 17 | izLJpbRp/eRADEPVo2fASJS0c/raZ+v0lCBEgdzAmoga8wrXAmsE92Iu8Y+pfOwa 18 | 0gMqsq9e1gI0asaLjod24l9TuZrjr9Q1oOVsIosCgYB5W+jTqFQt8cLebcPZnzN+ 19 | KSiw/Mp8rkx5HGpkrl35WiGkwWwgbDrA2xLCuwdK9lbpn/CLyo6Dii2jNvv8tIlj 20 | PosRYyVRFURWvpTmVfnprZ1J5njKk6KXuZyEstB39p5ssus1NVTEdF1vl1DHugDz 21 | 4epmPrtx3MHlKxdErqgxdQKBgGAmWcyqxy/JWrCXZ1Zvu01M8DV02dDrAKwbPgf4 22 | VZHbAagZ7kl7hR8YVEOUKnhiYhOVUnkxBxq0tjBDVBSFvYPtfLjdtzElq3Qb62mu 23 | 70TFYMy9POJ+FtsuDqdbIEyqED2CWAj06E0/bGX5bMdcAVkhSuJpVoUxZWY1oYNp 24 | +zLnAoGBAOQ3Qu4Bm76drrzGQ4rszTGRk3APhcbSnS+cIcB48cpn5/Sv8I/ofTxa 25 | P/VF9GZDy6FYzAS8GF/m5O8isVdj1nl3wcowh3mAxO+aAooLvF2F2abtJNMK9bTL 26 | a7YHmJAkzovlupKi3ZAVbjW0qPMKo0kRKzuyAvQ3EYB8L9je5F+J 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/server_domain/server-req.csr: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE REQUEST----- 2 | MIIC8DCCAdgCAQAwgZMxCzAJBgNVBAYTAkNOMQ4wDAYDVQQIDAVIdUJlaTEOMAwG 3 | A1UEBwwFV3VIYW4xGzAZBgNVBAoMEmFmbHlpbmdmaXNoVmVyc2lvbjENMAsGA1UE 4 | CwwEdGVzdDEcMBoGA1UEAwwTd3d3LmFmbHlpbmdmaXNoLmNvbTEaMBgGCSqGSIb3 5 | DQEJARYLYWZseWluZ2Zpc2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB 6 | AQC/JgIC+GtfR/vDegZskJGEVi1uCPKzcn62WJh7/Ixnwvkzmbp21BlCeDerQVQu 7 | s5Qc26TBbIBO2XxVMlG2Adqy8i2kPbd/mJ/ecLRG9zpiJ5DBCDvWDjluW9dg/ujw 8 | 4MOqnD6hRMSGa7vlY/owFDJusL/83I/dNEqUdJHE/UNCpItMjATAdMv7ElWzZ84H 9 | y54DA+nhcT53+oGtdKZQWkARYA5634eHfKvrHcYVcqdrQ/QwE1v4dRAfLYi/Rop+ 10 | ogr8IY/OPjkP+gNnNJk9PUfUQw8HPqnPlQPwRy20Cuv3nR7YNF0t/j/KIFR8/6Ve 11 | OPUMAOu6UL2G4P7UxWpt1TmhAgMBAAGgFzAVBgkqhkiG9w0BCQcxCAwGMTIzNDU2 12 | MA0GCSqGSIb3DQEBCwUAA4IBAQB3n/LAP3kfvoLs7rkUPjpMl6Pazf++EoV4fJrT 13 | 9VyO1Gh1pwKDtVewS0CaEcvwkpgdY80zB8tQhshiXEMjBwb7qhJGuFLnSLwYT7Qr 14 | gdN/x5dS0CjwW2Afyo/wnNdKf6Xa9dMq1X2pX2Hr7sJxQej/Jv8cXbFWUPuN74GF 15 | pTxKqqDnza3+PWEKv1kDL0Xc7DAZ1xYIZ8Dk+M633HgYdYMt4Lm/RBif2/++x/Wu 16 | P5pWgdCe8cUT8DJFzBC4OacDtcC7FEne/QyoPM3qLF9Fv53Q39vmXsxESC20nmMo 17 | gdy8q0YlRhjI2xLGZvSuqXfdQZE0pR6oAraH9j0ElqdVQy6w 18 | -----END CERTIFICATE REQUEST----- 19 | -------------------------------------------------------------------------------- /C_webserver/http/SSL/server_domain/server.p12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oneflyingfish/WebServer_C/e5b25e413ecbb419dc0c1708995ba84691dad361/C_webserver/http/SSL/server_domain/server.p12 -------------------------------------------------------------------------------- /C_webserver/http/TCP.c: -------------------------------------------------------------------------------- 1 | #include "TCP.h" 2 | #include