From c8fca7c2e7b4345a559c5059e3310869628492b4 Mon Sep 17 00:00:00 2001 From: "Jean-Marc Pigeon (Delson)" Date: Sun, 6 Apr 2025 10:10:36 -0400 Subject: [PATCH] Adding localhost certificate --- Makefile | 9 ++ certs/localhost-cert.tar.gz | Bin 0 -> 30720 bytes certs/localhost_cert.pem | 147 ++++++++++++++++++ certs/localhost_key.pem | 52 +++++++ ...x509.pem => mailleur_server_cert_x509.pem} | 0 .../{mailleur.key => mailleur_server_key.pem} | 0 lib/subrou.c | 2 +- lib/unitls.c | 27 +++- 8 files changed, 229 insertions(+), 8 deletions(-) create mode 100644 certs/localhost-cert.tar.gz create mode 100644 certs/localhost_cert.pem create mode 100644 certs/localhost_key.pem rename certs/{mailleur_x509.pem => mailleur_server_cert_x509.pem} (100%) rename certs/{mailleur.key => mailleur_server_key.pem} (100%) diff --git a/Makefile b/Makefile index 1ae11e5..68b1203 100644 --- a/Makefile +++ b/Makefile @@ -70,6 +70,15 @@ dbgfeed : debug $(TESTIP) \ $(TESTPORT) \ $(DATATST)/feed00.tst +#testing TLS connection +testtls : + openssl s_client \ + -CAfile certs/safe_CA.pem \ + -cert certs/localhost_cert.pem \ + -key certs/localhost_key.pem \ + -connect $(TESTIP):$(TESTPORT) \ + -starttls \ + smtp #-------------------------------------------------------------------- #starting email receiver diff --git a/certs/localhost-cert.tar.gz b/certs/localhost-cert.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b5e1a5b6b0bae9a5e6768b4614458029e5d8b411 GIT binary patch literal 30720 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 J{!=9IzX1J5DY*au literal 0 HcmV?d00001 diff --git a/certs/localhost_cert.pem b/certs/localhost_cert.pem new file mode 100644 index 0000000..12e130d --- /dev/null +++ b/certs/localhost_cert.pem @@ -0,0 +1,147 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 2a:01:e0:a5:fb:80:80:00:00:00:29 + Signature Algorithm: sha384WithRSAEncryption + Issuer: C=CA, O=SAFE Inc., OU=Digital Certificate Signing, CN=SAFE Midle Ground CA (2024) - SHA384 - 3 + Validity + Not Before: Apr 6 13:59:06 2025 GMT + Not After : Apr 6 13:59:06 2050 GMT + Subject: C=CA, ST=Quebec, L=Montreal, O=SAFE Inc., OU=Mailleur email developpement test, CN=localhost.localdomain + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:ba:5f:35:d2:04:d5:f4:da:f0:b1:99:6f:f3:42: + 42:0e:59:8d:7b:6c:24:97:6d:24:df:e8:fa:83:7c: + ae:92:fd:d1:58:1c:14:7e:20:71:5e:44:5a:b0:e8: + 7a:ce:45:33:95:aa:27:ef:52:fe:bd:5a:23:7b:4f: + 8b:24:4d:0b:f7:9c:99:25:b8:b9:af:8c:46:f7:a9: + 6c:18:ff:39:7c:a9:ff:9a:f5:f0:d7:d7:ca:dc:6c: + 5d:c7:09:02:83:87:37:1a:2f:f7:05:b8:39:af:9f: + ab:24:3b:24:48:e6:72:af:36:10:0d:c6:dc:bd:c2: + de:05:4f:4a:fd:d8:5b:35:24:b9:bc:ce:ab:37:3a: + f9:ff:2d:44:c2:33:f2:52:4a:36:5c:5f:80:a7:cd: + f7:1b:6d:55:b7:d6:13:25:72:d5:55:4d:54:ff:a1: + 1e:7d:85:8b:e0:e2:16:d1:d1:22:21:07:99:ad:9a: + 51:25:02:71:7b:56:e5:77:16:07:18:c6:fd:de:c4: + e0:e5:55:01:78:f6:3c:53:ab:35:1d:44:f8:26:af: + c3:11:a2:2d:63:73:29:c5:bd:b4:17:f7:83:7e:0d: + d9:0a:d9:a1:27:f2:7c:bc:ee:95:76:68:ec:c4:7f: + 35:64:44:d4:6d:43:46:99:40:52:cd:b4:c0:11:3a: + d7:ab:7c:cf:87:b5:41:32:a4:23:2d:3f:cc:fa:b2: + 6b:5b:dd:a5:58:14:7a:24:cb:3a:26:04:49:8f:07: + 8b:5b:d0:be:c2:ee:24:de:d1:74:cb:04:48:be:f9: + 74:5a:17:52:1e:0e:c0:ea:02:d1:7a:1e:e7:a2:95: + b4:77:1a:96:6d:34:80:78:85:0f:84:e6:3b:60:27: + 75:5d:33:60:6d:6b:d9:da:b9:af:a9:cf:bc:ae:c3: + 29:ca:a3:1b:4f:3b:7f:fa:ba:d6:01:f0:07:3f:7d: + 00:45:e6:6e:7f:aa:67:ad:90:db:1d:2a:eb:e4:be: + 43:13:5e:2e:dc:de:a1:36:fd:20:90:1f:ac:8c:3c: + c9:0e:32:96:ef:a8:19:1d:30:87:d1:f2:42:c7:55: + e7:46:24:9c:d2:4a:1f:42:01:f7:eb:68:5f:d6:b5: + 9a:3a:e2:51:90:94:59:9d:bc:83:dd:d8:89:e9:34: + af:d6:43:66:8f:87:85:2b:c6:b1:43:b6:09:92:ba: + f4:e3:d6:3b:c1:5b:2d:76:cd:56:ac:7f:bb:fb:60: + 30:a5:13:76:73:35:5e:67:df:dd:c5:fe:ab:e5:4f: + dd:80:56:19:a6:e0:d8:53:b2:20:5c:5c:34:2f:a1: + 31:0b:12:27:71:b6:ea:5b:2e:fa:a3:88:2f:f7:24: + 5b:93:0d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Key Usage: critical + Digital Signature, Key Encipherment + Authority Information Access: + CA Issuers - URI:http://certificates.safe.ca/cacert/safeMDL.pem + OCSP - URI:http://certificates/safe.ca/chkcertstats + X509v3 Certificate Policies: + Policy: 1.3.6.1.4.1.7438.1.2 + CPS: http://certificates.safe.ca/policies + Policy: 2.23.140.1.1 + X509v3 Basic Constraints: + CA:FALSE + X509v3 CRL Distribution Points: + Full Name: + URI:http://certificates.safe.ca/repository/revoklist.pem + X509v3 Subject Alternative Name: + DNS:localhost.localdomain, IP Address:127.127.0.1 + X509v3 Extended Key Usage: + TLS Web Server Authentication, TLS Web Client Authentication, E-mail Protection + X509v3 Subject Key Identifier: + 2D:BD:65:E1:4E:2B:7D:E0:80:3E:D2:66:6E:ED:81:87:4A:52:CD:6C + X509v3 Authority Key Identifier: + 9C:BE:0B:C0:22:76:F5:CF:BC:FD:78:9A:92:77:20:FE:BF:96:1E:D8 + Signature Algorithm: sha384WithRSAEncryption + Signature Value: + ac:e8:1e:50:ec:0e:b8:02:c6:ac:70:19:ee:37:7f:53:24:69: + cc:ca:6e:34:6b:9b:14:cf:71:67:bb:7d:f9:60:a7:92:59:9b: + de:56:8b:86:9a:8e:59:da:ad:4a:90:a4:2e:2d:c4:a0:17:01: + 18:84:c4:dd:5c:93:97:dd:d9:ad:d4:0d:63:33:3b:4e:3f:24: + 0e:6c:13:6c:3f:3b:5e:ca:27:a1:5a:1c:30:e4:eb:da:d0:e5: + b1:4f:ce:fb:c4:8c:76:da:e6:f6:00:a5:03:58:9b:6d:79:84: + 92:2c:10:66:96:b9:7f:73:57:97:7e:6a:f2:74:d3:ac:0a:3e: + b2:11:c4:f5:1e:4d:87:1f:8e:6d:29:ed:ef:97:8f:70:f7:37: + 61:3e:ae:4a:d6:6d:6e:80:c5:bb:de:9b:bd:06:bb:a8:94:28: + ed:f6:c9:4a:7f:e2:9a:44:e1:96:07:25:60:74:19:d1:fb:86: + 32:16:1c:c4:99:dd:de:ab:fe:7a:88:af:8e:3a:fa:36:c3:92: + b3:82:ba:50:18:02:42:2c:b4:6a:d2:ba:a3:8e:fb:72:6a:d1: + 8a:b4:3f:b3:9e:27:90:18:b8:50:04:b8:1e:14:d6:e1:98:ff: + ed:78:5d:5e:76:b0:6e:8d:e0:ea:e3:00:5e:c7:f3:eb:ed:71: + c6:c0:de:f1:e2:bb:03:14:f1:27:0f:a6:2e:6c:38:0a:ca:3e: + ef:e1:4c:d8:a4:dc:7d:6a:ec:e5:3e:b5:a7:53:7b:2a:32:76: + da:a8:e1:1b:8c:76:6b:8b:b8:75:51:65:25:e0:c2:31:c7:0b: + b1:a6:a2:10:b7:45:4d:fc:69:67:84:c6:81:c8:e7:5e:b8:fc: + fb:8d:64:e3:28:dc:b3:41:be:8e:58:7a:8e:9e:89:ee:51:f1: + bf:5e:82:a6:29:a8:98:fe:ef:fb:7c:70:f7:8c:ee:4e:07:47: + 10:4e:75:ad:21:a2:ad:9a:4e:e7:3a:01:2e:bc:81:63:b7:7c: + 4c:ea:32:4c:12:78:20:81:9d:f2:8d:5f:1f:4b:82:67:55:1f: + 95:ff:d8:7f:5b:50:74:fd:18:4c:74:3e:4e:cf:5b:26:d6:73: + 29:ea:dd:9b:a0:a5:0b:5d:5e:0d:36:fd:f5:d1:d0:91:9a:6e: + 81:b9:4a:93:d7:94:bb:75:e5:fa:ff:9f:5f:1e:f4:d3:63:9e: + 09:03:00:b5:aa:77:0d:9f:2f:25:41:99:f3:52:04:08:3d:f4: + d5:ab:37:3a:0c:1b:fe:db:66:45:8b:b3:88:7e:1d:9c:98:98: + a7:f7:00:30:06:78:f6:0e:ea:aa:e6:24:3d:3f:31:39:80:3e: + a8:74:a2:1e:42:51:d7:13 +-----BEGIN CERTIFICATE----- +MIIHZDCCBUygAwIBAgILKgHgpfuAgAAAACkwDQYJKoZIhvcNAQEMBQAwejELMAkG +A1UEBhMCQ0ExEjAQBgNVBAoMCVNBRkUgSW5jLjEkMCIGA1UECwwbRGlnaXRhbCBD +ZXJ0aWZpY2F0ZSBTaWduaW5nMTEwLwYDVQQDDChTQUZFIE1pZGxlIEdyb3VuZCBD +QSAoMjAyNCkgLSBTSEEzODQgLSAzMCAXDTI1MDQwNjEzNTkwNloYDzIwNTAwNDA2 +MTM1OTA2WjCBkTELMAkGA1UEBhMCQ0ExDzANBgNVBAgMBlF1ZWJlYzERMA8GA1UE +BwwITW9udHJlYWwxEjAQBgNVBAoMCVNBRkUgSW5jLjEqMCgGA1UECwwhTWFpbGxl +dXIgZW1haWwgZGV2ZWxvcHBlbWVudCB0ZXN0MR4wHAYDVQQDDBVsb2NhbGhvc3Qu +bG9jYWxkb21haW4wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC6XzXS +BNX02vCxmW/zQkIOWY17bCSXbSTf6PqDfK6S/dFYHBR+IHFeRFqw6HrORTOVqifv +Uv69WiN7T4skTQv3nJkluLmvjEb3qWwY/zl8qf+a9fDX18rcbF3HCQKDhzcaL/cF +uDmvn6skOyRI5nKvNhANxty9wt4FT0r92Fs1JLm8zqs3Ovn/LUTCM/JSSjZcX4Cn +zfcbbVW31hMlctVVTVT/oR59hYvg4hbR0SIhB5mtmlElAnF7VuV3FgcYxv3exODl +VQF49jxTqzUdRPgmr8MRoi1jcynFvbQX94N+DdkK2aEn8ny87pV2aOzEfzVkRNRt +Q0aZQFLNtMAROterfM+HtUEypCMtP8z6smtb3aVYFHokyzomBEmPB4tb0L7C7iTe +0XTLBEi++XRaF1IeDsDqAtF6HueilbR3GpZtNIB4hQ+E5jtgJ3VdM2Bta9naua+p +z7yuwynKoxtPO3/6utYB8Ac/fQBF5m5/qmetkNsdKuvkvkMTXi7c3qE2/SCQH6yM +PMkOMpbvqBkdMIfR8kLHVedGJJzSSh9CAffraF/WtZo64lGQlFmdvIPd2InpNK/W +Q2aPh4UrxrFDtgmSuvTj1jvBWy12zVasf7v7YDClE3ZzNV5n393F/qvlT92AVhmm +4NhTsiBcXDQvoTELEidxtupbLvqjiC/3JFuTDQIDAQABo4IBzzCCAcswDgYDVR0P +AQH/BAQDAgWgMIGABggrBgEFBQcBAQR0MHIwOgYIKwYBBQUHMAKGLmh0dHA6Ly9j +ZXJ0aWZpY2F0ZXMuc2FmZS5jYS9jYWNlcnQvc2FmZU1ETC5wZW0wNAYIKwYBBQUH +MAGGKGh0dHA6Ly9jZXJ0aWZpY2F0ZXMvc2FmZS5jYS9jaGtjZXJ0c3RhdHMwUwYD +VR0gBEwwSjA/BgkrBgEEAboOAQIwMjAwBggrBgEFBQcCARYkaHR0cDovL2NlcnRp +ZmljYXRlcy5zYWZlLmNhL3BvbGljaWVzMAcGBWeBDAEBMAkGA1UdEwQCMAAwRQYD +VR0fBD4wPDA6oDigNoY0aHR0cDovL2NlcnRpZmljYXRlcy5zYWZlLmNhL3JlcG9z +aXRvcnkvcmV2b2tsaXN0LnBlbTAmBgNVHREEHzAdghVsb2NhbGhvc3QubG9jYWxk +b21haW6HBH9/AAEwJwYDVR0lBCAwHgYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEF +BQcDBDAdBgNVHQ4EFgQULb1l4U4rfeCAPtJmbu2Bh0pSzWwwHwYDVR0jBBgwFoAU +nL4LwCJ29c+8/Xiakncg/r+WHtgwDQYJKoZIhvcNAQEMBQADggIBAKzoHlDsDrgC +xqxwGe43f1MkaczKbjRrmxTPcWe7fflgp5JZm95Wi4aajlnarUqQpC4txKAXARiE +xN1ck5fd2a3UDWMzO04/JA5sE2w/O17KJ6FaHDDk69rQ5bFPzvvEjHba5vYApQNY +m215hJIsEGaWuX9zV5d+avJ006wKPrIRxPUeTYcfjm0p7e+Xj3D3N2E+rkrWbW6A +xbvem70Gu6iUKO32yUp/4ppE4ZYHJWB0GdH7hjIWHMSZ3d6r/nqIr446+jbDkrOC +ulAYAkIstGrSuqOO+3Jq0Yq0P7OeJ5AYuFAEuB4U1uGY/+14XV52sG6N4OrjAF7H +8+vtccbA3vHiuwMU8ScPpi5sOArKPu/hTNik3H1q7OU+tadTeyoydtqo4RuMdmuL +uHVRZSXgwjHHC7GmohC3RU38aWeExoHI5164/PuNZOMo3LNBvo5Yeo6eie5R8b9e +gqYpqJj+7/t8cPeM7k4HRxBOda0hoq2aTuc6AS68gWO3fEzqMkwSeCCBnfKNXx9L +gmdVH5X/2H9bUHT9GEx0Pk7PWybWcynq3ZugpQtdXg02/fXR0JGaboG5SpPXlLt1 +5fr/n18e9NNjngkDALWqdw2fLyVBmfNSBAg99NWrNzoMG/7bZkWLs4h+HZyYmKf3 +ADAGePYO6qrmJD0/MTmAPqh0oh5CUdcT +-----END CERTIFICATE----- diff --git a/certs/localhost_key.pem b/certs/localhost_key.pem new file mode 100644 index 0000000..bc8f96b --- /dev/null +++ b/certs/localhost_key.pem @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +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 +yVX+KcXoeFoZZcQR5s0qu1ZkJNhizw== +-----END PRIVATE KEY----- diff --git a/certs/mailleur_x509.pem b/certs/mailleur_server_cert_x509.pem similarity index 100% rename from certs/mailleur_x509.pem rename to certs/mailleur_server_cert_x509.pem diff --git a/certs/mailleur.key b/certs/mailleur_server_key.pem similarity index 100% rename from certs/mailleur.key rename to certs/mailleur_server_key.pem diff --git a/lib/subrou.c b/lib/subrou.c index 95fab11..47e3e6c 100644 --- a/lib/subrou.c +++ b/lib/subrou.c @@ -21,7 +21,7 @@ //version definition #define VERSION "0.6" -#define RELEASE "44" +#define RELEASE "45" #define BRANCH "dvl" //Public variables diff --git a/lib/unitls.c b/lib/unitls.c index e677e71..b45853f 100644 --- a/lib/unitls.c +++ b/lib/unitls.c @@ -225,34 +225,47 @@ int phase; _Bool proceed; done=false; -certpub[0]="./kleenex/cert.pem"; //JMPDBG test Trusted file -certpub[1]="./kleenex/cert.pem"; //JMPDBG test -certpub[2]="./kleenex/key.pem"; //JMPDBG test +certpub[0]="./certs/safe_CA.pem"; //default and debugging certificats +//Default debugging server certificate +certpub[1]="./certs/mailleur_server_cert_x509.pem"; +certpub[2]="./certs/mailleur_server_key.pem"; phase=0; proceed=true; while (proceed==true) { switch (phase) { case 0 : //load CA trusted file if (SSL_CTX_use_certificate_chain_file(tls->ctx,certpub[0])!=1) { - (void) showtlserror(tls,0,"No chain Certificate"); + char msg[200]; + + (void) snprintf(msg,sizeof(msg),"%s, file <%s> missing?", + "No chain Certificate",certpub[0]); + (void) showtlserror(tls,0,msg); phase=999; //no need to go furter } break; case 1 : //loading default CA verify dir if (SSL_CTX_set_default_verify_paths(tls->ctx)==0) { - (void) showtlserror(tls,0,"No CA certificate"); + (void) showtlserror(tls,0,"Unable to verify default path"); phase=999; //no need to go furter } break; case 2 : //set certificate if (SSL_CTX_use_certificate_file(tls->ctx,certpub[1],SSL_FILETYPE_PEM)!=1) { - (void) showtlserror(tls,0,"No local Certificate"); + char msg[200]; + + (void) snprintf(msg,sizeof(msg),"%s, file <%s> missing?", + "Problem with certificate",certpub[1]); + (void) showtlserror(tls,0,msg); phase=999; //no need to go furter } break; case 3 : //set key if (SSL_CTX_use_PrivateKey_file(tls->ctx,certpub[2],SSL_FILETYPE_PEM)!=1) { - (void) showtlserror(tls,0,"No local Certificate"); + char msg[200]; + + (void) snprintf(msg,sizeof(msg),"%s, file <%s> missing?", + "Probleme with Certificate key",certpub[2]); + (void) showtlserror(tls,0,msg); phase=999; } break; -- 2.47.3