commit a31f979341a48ad33303686e46604a0b28c6987a Author: dDogge Date: Sun Mar 23 12:04:21 2025 +0100 Done diff --git a/CA/ca_certificate_dump.txt b/CA/ca_certificate_dump.txt new file mode 100644 index 0000000..5e426ec --- /dev/null +++ b/CA/ca_certificate_dump.txt @@ -0,0 +1,80 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + 10:2f:fd:d7:a2:0f:84:f1:59:0f:34:5c:04:a7:6b:a1:22:2f:b7:aa + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=Demo CA + Validity + Not Before: Mar 18 21:26:54 2025 GMT + Not After : Mar 16 21:26:54 2035 GMT + Subject: C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=Demo CA + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b1:85:ae:60:19:59:4c:49:e8:1f:f2:20:b6:47: + ea:94:16:f7:96:ad:84:33:08:23:64:6f:f4:57:07: + d7:55:a6:79:31:07:7a:65:c1:37:f3:cb:be:b5:29: + d7:89:66:9b:55:0f:49:06:6b:b8:ae:9d:c6:2d:0c: + cd:23:d2:31:4e:76:9d:11:93:66:b8:ae:9a:14:25: + 19:bc:6d:e0:8c:55:5e:9f:41:79:ca:9d:7e:9d:95: + 41:d7:3f:b5:dd:f6:a8:7e:cb:f7:bf:37:67:e6:e6: + eb:79:a6:2f:90:80:9d:d8:df:73:cf:39:c0:01:d8: + 9b:2b:a6:0f:e4:01:86:e3:4f:e4:c1:d6:b0:f7:c4: + c3:c5:70:da:ef:ed:e2:58:57:ae:12:05:20:80:7b: + bb:d3:5b:ed:90:45:66:bc:ba:59:4c:7d:b9:e8:9d: + ae:10:45:34:3e:d9:19:f8:89:b3:d0:3c:03:25:2f: + 42:b6:14:68:ac:19:f6:c1:d9:a4:ec:8b:c4:6e:64: + c9:9f:be:a0:d1:44:52:65:20:2e:cc:4d:cb:07:e9: + 11:b4:59:d0:f8:60:fc:a0:d1:b6:a7:a4:30:ac:41: + ac:b0:a3:4b:fa:a3:00:47:8b:66:04:9b:2b:d8:b7: + ce:6c:df:30:46:c9:9f:39:d2:a7:61:ed:22:85:f0: + 9a:8d + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Key Identifier: + B8:51:A7:BE:35:2A:3C:F1:F5:3F:CF:9A:A9:78:9C:D9:64:06:17:E0 + X509v3 Authority Key Identifier: + B8:51:A7:BE:35:2A:3C:F1:F5:3F:CF:9A:A9:78:9C:D9:64:06:17:E0 + X509v3 Basic Constraints: critical + CA:TRUE + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + 3e:2c:e2:fc:81:c3:b5:03:e6:bf:51:b0:54:29:fd:6b:60:ea: + 91:2f:05:7b:8c:83:b0:0f:50:3e:49:41:88:41:5e:c7:c2:25: + 6c:3c:46:c6:df:43:00:51:8e:ff:1e:33:02:b7:0d:de:d6:73: + 8c:13:66:f2:0a:b6:fc:7b:84:35:ff:35:ec:74:fe:82:e5:f5: + bc:5d:16:75:22:a5:08:38:79:71:c1:14:dd:9d:18:9c:c1:ee: + 66:84:5f:bc:54:25:c9:c0:10:ba:81:86:b1:cb:5a:61:dc:a7: + 92:a7:ab:c7:89:64:0e:68:5b:8f:4a:05:1a:61:dd:e6:ea:64: + fa:43:d3:7a:e6:3f:5e:49:26:8e:e3:c8:2d:4b:f6:5c:7d:ba: + c3:c3:47:55:dc:16:62:2a:5b:54:9b:be:60:8c:4c:b1:7d:87: + f1:f5:c1:53:89:56:b0:83:5d:e9:96:f6:93:c9:44:7b:3b:7c: + 0a:6c:93:32:34:27:90:2a:14:94:46:2e:e7:f2:9f:34:13:64: + 92:a5:48:c9:4b:39:6f:ee:84:3c:8f:9e:fe:1d:35:be:ab:28: + 30:d2:c9:1a:4c:76:a3:59:85:29:36:72:f7:3d:b3:08:59:62: + 52:99:c9:5e:3b:de:dc:3a:92:d5:12:99:03:ee:f9:11:54:50: + 13:0d:29:0e +-----BEGIN CERTIFICATE----- +MIIDiTCCAnGgAwIBAgIUEC/916IPhPFZDzRcBKdroSIvt6owDQYJKoZIhvcNAQEL +BQAwVDELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIGA1UEBwwLSGVs +c2luZ2JvcmcxDDAKBgNVBAoMA0xUSDEQMA4GA1UEAwwHRGVtbyBDQTAeFw0yNTAz +MTgyMTI2NTRaFw0zNTAzMTYyMTI2NTRaMFQxCzAJBgNVBAYTAlNFMQ8wDQYDVQQI +DAZTY2FuaWExFDASBgNVBAcMC0hlbHNpbmdib3JnMQwwCgYDVQQKDANMVEgxEDAO +BgNVBAMMB0RlbW8gQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx +ha5gGVlMSegf8iC2R+qUFveWrYQzCCNkb/RXB9dVpnkxB3plwTfzy761KdeJZptV +D0kGa7iuncYtDM0j0jFOdp0Rk2a4rpoUJRm8beCMVV6fQXnKnX6dlUHXP7Xd9qh+ +y/e/N2fm5ut5pi+QgJ3Y33PPOcAB2Jsrpg/kAYbjT+TB1rD3xMPFcNrv7eJYV64S +BSCAe7vTW+2QRWa8ullMfbnona4QRTQ+2Rn4ibPQPAMlL0K2FGisGfbB2aTsi8Ru +ZMmfvqDRRFJlIC7MTcsH6RG0WdD4YPyg0banpDCsQaywo0v6owBHi2YEmyvYt85s +3zBGyZ850qdh7SKF8JqNAgMBAAGjUzBRMB0GA1UdDgQWBBS4Uae+NSo88fU/z5qp +eJzZZAYX4DAfBgNVHSMEGDAWgBS4Uae+NSo88fU/z5qpeJzZZAYX4DAPBgNVHRMB +Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQA+LOL8gcO1A+a/UbBUKf1rYOqR +LwV7jIOwD1A+SUGIQV7HwiVsPEbG30MAUY7/HjMCtw3e1nOME2byCrb8e4Q1/zXs +dP6C5fW8XRZ1IqUIOHlxwRTdnRicwe5mhF+8VCXJwBC6gYaxy1ph3KeSp6vHiWQO +aFuPSgUaYd3m6mT6Q9N65j9eSSaO48gtS/ZcfbrDw0dV3BZiKltUm75gjEyxfYfx +9cFTiVawg13plvaTyUR7O3wKbJMyNCeQKhSURi7n8p80E2SSpUjJSzlv7oQ8j57+ +HTW+qygw0skaTHajWYUpNnL3PbMIWWJSmcleO97cOpLVEpkD7vkRVFATDSkO +-----END CERTIFICATE----- + diff --git a/CA/rootCA.key b/CA/rootCA.key new file mode 100644 index 0000000..e922ab5 --- /dev/null +++ b/CA/rootCA.key @@ -0,0 +1,30 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFNTBfBgkqhkiG9w0BBQ0wUjAxBgkqhkiG9w0BBQwwJAQQ8fK81PVhNBAs1TA6 +1OWr3AICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEAQIEEM1WhYv2DbLYrJ1F +s9DAHzEEggTQeDGYrLjcaIqMw677j9s4oCv2RcH6Ia5qaMjREvwZ74DMeCWn5VrZ +tGWEnYmoh3bJC6uYcNMn678fl8hJtr5LZ3xbIo6d/ytxyiwO/Cr0l05WuaqwiG51 +nHd+oGmFPumfsM+9DJJ9G/5V7C3likHAN7HyHiL3iVXIQyB24oiYMJysF76nMzi9 +dHwDwWWTD/0tDNhJiFPh97al9UxvM1zasRBOovHQMmLjSfkeu8F4snIrG9OuBOJx +LTQuVMtxAkbcz7e6cTV7p1Wj74k19dZKkM33UsHeXQ/LnYoCxnM6TALNlC5HAdok +/pfp1aL2miCI7ovVBm6JLSKFbdZ3xWZaVSSX1N1zDvGlW2nNE8codW04wcMUlGQy +aUJU/j+93T+UMQCjUQryTpbQpd+xtrPQ/AcAygh+sVuBvxE2nyc5QLs6FLeluI/P +Y2V4gHN+ouBTbkaZqDskMQ1lAt102VrwWFvYAA5xr+bgFv2Qt0oCIvSFjdfYykK6 +XjqQGlcBYvFY/0KM7FYfVbqQUv0FVeQuKOJogpGNcPo6PAIIaSwgDiHR2TPWUD1F +rFhrPnRac4vxPovNURwou1q6XN4/6tXuCiOoBGDh/vs5yegGcrAPUAu2GpSD7Hi6 +kz89Sc7ptoLzo3mKUOoCvRYCcC9dgrO3NoGHpffk4zamDgJTMbc4lZgq1Hk1TPM8 +lWGVx9dVUKN3AGk8iTt65VN/5Hj4KMdhQl0i28qf/daJojomjqcBmWvWP+2BZ1EU +MGbBHHxPvaKN48SX/FfGY2hPnzA4hq6r7AeqAqOdbVoWMsrTM5Oin2zimCc6IlxG +xKMi5+zNrQg7tt8Jm70uCmOb+sQnsPR1fd6mzvl+OyY3LMCyeJZ+nVF5Mn6t4KVv +ojonREDOiYuJ1mcb7P2/72EFj7fE7DZqn2EkzR31JVaLEjoSKUgq8viKKKxYH/83 +8YWFDiV8YxoJ4WO3UgY6NhOsLU/IGyK8r1tmCnTsEFrr2SKryV0ORIbDFt8YtC/a +k6Vqv6wFmPC5p2MFt8HylW8b2OUyDLyauLQbDQStiP4LwWdyvfTaQQelYZL28LkN +Sfec1pN83SiPIPpWpmx/UfBI7w+w7wCQwGIKJcrsh26L5b6poF9qKDSm64YLZlmJ +jU9v0bUqBknrXgTrVhpIn9Ay6YH8B6oRseFMlFOgfrfFFH4/9/GcKnW3H4f/fx7G +BO+G4t9OVm9CEwKEOUoRVOlwhTDlTXNf+14pYdZ6SiQYEN5Lsa4H2IO+IuAeTyFQ +jWJuwS4YHvy4SdiaVp89xT6ER8/lfQaY6bLL2G23XLSGmRBCgXe63JLL+dyX6NuJ +/7NEO2RsH/THUteQtIPPcgqkFfbW/ORNVK7ln909hI9oMMmkE5xu6F4VCnxe5OEL +OH7OEPBDv9HKJ0US2oXcnWb49nYAA3xK7ZeOwcrV3Cq6INGvtLbzWWynMq1Qs2x1 +ELvgpN0MkZYSvty6lqoc0oRaHMt+ncQAeaytqvLwYeEuyw1IbSJiNQOl1iY+Qvbi +OWJ2R0YtGahT0Z788FUHHUYtZraR8XHWj9TmAGdxWVYAc2RF/1q/LziqxzBT+4Z0 +8CbYS6R923FXBHi/zR/ZUPYGlqmT9PMp6h8A5eKdWDZ+0vEL6WOt1nA= +-----END ENCRYPTED PRIVATE KEY----- diff --git a/CA/rootCA.pem b/CA/rootCA.pem new file mode 100644 index 0000000..8a8dbdd --- /dev/null +++ b/CA/rootCA.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDiTCCAnGgAwIBAgIUEC/916IPhPFZDzRcBKdroSIvt6owDQYJKoZIhvcNAQEL +BQAwVDELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIGA1UEBwwLSGVs +c2luZ2JvcmcxDDAKBgNVBAoMA0xUSDEQMA4GA1UEAwwHRGVtbyBDQTAeFw0yNTAz +MTgyMTI2NTRaFw0zNTAzMTYyMTI2NTRaMFQxCzAJBgNVBAYTAlNFMQ8wDQYDVQQI +DAZTY2FuaWExFDASBgNVBAcMC0hlbHNpbmdib3JnMQwwCgYDVQQKDANMVEgxEDAO +BgNVBAMMB0RlbW8gQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx +ha5gGVlMSegf8iC2R+qUFveWrYQzCCNkb/RXB9dVpnkxB3plwTfzy761KdeJZptV +D0kGa7iuncYtDM0j0jFOdp0Rk2a4rpoUJRm8beCMVV6fQXnKnX6dlUHXP7Xd9qh+ +y/e/N2fm5ut5pi+QgJ3Y33PPOcAB2Jsrpg/kAYbjT+TB1rD3xMPFcNrv7eJYV64S +BSCAe7vTW+2QRWa8ullMfbnona4QRTQ+2Rn4ibPQPAMlL0K2FGisGfbB2aTsi8Ru +ZMmfvqDRRFJlIC7MTcsH6RG0WdD4YPyg0banpDCsQaywo0v6owBHi2YEmyvYt85s +3zBGyZ850qdh7SKF8JqNAgMBAAGjUzBRMB0GA1UdDgQWBBS4Uae+NSo88fU/z5qp +eJzZZAYX4DAfBgNVHSMEGDAWgBS4Uae+NSo88fU/z5qpeJzZZAYX4DAPBgNVHRMB +Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQA+LOL8gcO1A+a/UbBUKf1rYOqR +LwV7jIOwD1A+SUGIQV7HwiVsPEbG30MAUY7/HjMCtw3e1nOME2byCrb8e4Q1/zXs +dP6C5fW8XRZ1IqUIOHlxwRTdnRicwe5mhF+8VCXJwBC6gYaxy1ph3KeSp6vHiWQO +aFuPSgUaYd3m6mT6Q9N65j9eSSaO48gtS/ZcfbrDw0dV3BZiKltUm75gjEyxfYfx +9cFTiVawg13plvaTyUR7O3wKbJMyNCeQKhSURi7n8p80E2SSpUjJSzlv7oQ8j57+ +HTW+qygw0skaTHajWYUpNnL3PbMIWWJSmcleO97cOpLVEpkD7vkRVFATDSkO +-----END CERTIFICATE----- diff --git a/client/client.p12 b/client/client.p12 new file mode 100644 index 0000000..04298c9 Binary files /dev/null and b/client/client.p12 differ diff --git a/client/client_cert.pem b/client/client_cert.pem new file mode 100644 index 0000000..0e06d8e --- /dev/null +++ b/client/client_cert.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJTRTEP +MA0GA1UECAwGU2NhbmlhMRQwEgYDVQQHDAtIZWxzaW5nYm9yZzEMMAoGA1UECgwD +TFRIMRAwDgYDVQQDDAdEZW1vIENBMB4XDTI1MDMyMDE5MDkzNloXDTI2MDMyMDE5 +MDkzNlowUzELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIGA1UEBwwL +SGVsc2luZ2JvcmcxDDAKBgNVBAoMA0xUSDEPMA0GA1UEAwwGY2xpZW50MIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyAaEqm3pHekTcMc81UTU9Jdu+Lb3 +HE6wWN0jNjfWc8slaIRNBuI1MhFsVFJGHSOilBwUlC63ELx/6XPMj+0S/J2CeW40 +eZMb/pj5R6wSxTLDebPjFm+qYytfzzZJ0U7cH+mL8ISVr5wtSKad/a+8ZA8WcW7d +fJOP/ZX/s7wFhDYxv/sjGWQqcHIDY1qaEh221N9ijiAkUPsoz6FFhdEO+7CMYjdN +dP35FjguyiGCxXZwJjBelQIkUdde1b2xa17sRRYHWdVdOUYQMVjKa1LRpR56uz/G +Rpor4fgNCHpnG2MzM+I9IiwqccshiDyr/ZgRUJ5CxqYsbAzjmREkv5UWAwIDAQAB +o3AwbjAfBgNVHSMEGDAWgBS4Uae+NSo88fU/z5qpeJzZZAYX4DAJBgNVHRMEAjAA +MAsGA1UdDwQEAwIE0DAUBgNVHREEDTALgglsb2NhbGhvc3QwHQYDVR0OBBYEFAEE +RSJ4/acsjVIxJiMoGiInPiXdMA0GCSqGSIb3DQEBCwUAA4IBAQBYRFjPXxcUhnri +vKZmH0d/KHex2l++YPluTtlF9p+JO1ry9uUIOeZQcjPysviS77ludiUKm2H7ym8Q +n4THysqa1ahUPkP6a0Ef3Z4tdi0359d4dOP6Xtt//L3O2tSL5dlE/uLV4jyiw/B9 +v1UQml9Lhq0ZbHyCjtg4g3yPZ9sY7o0GsEsTfuhW148xD1yyuBbS6Zn+DfZKlPUo +Veu9B5g+zItIfDi5trocF0V65a+BIqqGzE6HtqCuq23J6P8ovS4h0XEDYPwjrGIn +44U1fR5L6x2Jqbo1iy1zbLSs/beLY6a962/JFfWAMp1AQGHs6lLCBg9YQMnVNW3X +DZ+hmml2 +-----END CERTIFICATE----- diff --git a/client/client_cert_dump.txt b/client/client_cert_dump.txt new file mode 100644 index 0000000..9dbf9ef --- /dev/null +++ b/client/client_cert_dump.txt @@ -0,0 +1,84 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 2 (0x2) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=Demo CA + Validity + Not Before: Mar 20 19:09:36 2025 GMT + Not After : Mar 20 19:09:36 2026 GMT + Subject: C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=client + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c8:06:84:aa:6d:e9:1d:e9:13:70:c7:3c:d5:44: + d4:f4:97:6e:f8:b6:f7:1c:4e:b0:58:dd:23:36:37: + d6:73:cb:25:68:84:4d:06:e2:35:32:11:6c:54:52: + 46:1d:23:a2:94:1c:14:94:2e:b7:10:bc:7f:e9:73: + cc:8f:ed:12:fc:9d:82:79:6e:34:79:93:1b:fe:98: + f9:47:ac:12:c5:32:c3:79:b3:e3:16:6f:aa:63:2b: + 5f:cf:36:49:d1:4e:dc:1f:e9:8b:f0:84:95:af:9c: + 2d:48:a6:9d:fd:af:bc:64:0f:16:71:6e:dd:7c:93: + 8f:fd:95:ff:b3:bc:05:84:36:31:bf:fb:23:19:64: + 2a:70:72:03:63:5a:9a:12:1d:b6:d4:df:62:8e:20: + 24:50:fb:28:cf:a1:45:85:d1:0e:fb:b0:8c:62:37: + 4d:74:fd:f9:16:38:2e:ca:21:82:c5:76:70:26:30: + 5e:95:02:24:51:d7:5e:d5:bd:b1:6b:5e:ec:45:16: + 07:59:d5:5d:39:46:10:31:58:ca:6b:52:d1:a5:1e: + 7a:bb:3f:c6:46:9a:2b:e1:f8:0d:08:7a:67:1b:63: + 33:33:e2:3d:22:2c:2a:71:cb:21:88:3c:ab:fd:98: + 11:50:9e:42:c6:a6:2c:6c:0c:e3:99:11:24:bf:95: + 16:03 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + B8:51:A7:BE:35:2A:3C:F1:F5:3F:CF:9A:A9:78:9C:D9:64:06:17:E0 + X509v3 Basic Constraints: + CA:FALSE + X509v3 Key Usage: + Digital Signature, Non Repudiation, Data Encipherment + X509v3 Subject Alternative Name: + DNS:localhost + X509v3 Subject Key Identifier: + 01:04:45:22:78:FD:A7:2C:8D:52:31:26:23:28:1A:22:27:3E:25:DD + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + 58:44:58:cf:5f:17:14:86:7a:e2:bc:a6:66:1f:47:7f:28:77: + b1:da:5f:be:60:f9:6e:4e:d9:45:f6:9f:89:3b:5a:f2:f6:e5: + 08:39:e6:50:72:33:f2:b2:f8:92:ef:b9:6e:76:25:0a:9b:61: + fb:ca:6f:10:9f:84:c7:ca:ca:9a:d5:a8:54:3e:43:fa:6b:41: + 1f:dd:9e:2d:76:2d:37:e7:d7:78:74:e3:fa:5e:db:7f:fc:bd: + ce:da:d4:8b:e5:d9:44:fe:e2:d5:e2:3c:a2:c3:f0:7d:bf:55: + 10:9a:5f:4b:86:ad:19:6c:7c:82:8e:d8:38:83:7c:8f:67:db: + 18:ee:8d:06:b0:4b:13:7e:e8:56:d7:8f:31:0f:5c:b2:b8:16: + d2:e9:99:fe:0d:f6:4a:94:f5:28:55:eb:bd:07:98:3e:cc:8b: + 48:7c:38:b9:b6:ba:1c:17:45:7a:e5:af:81:22:aa:86:cc:4e: + 87:b6:a0:ae:ab:6d:c9:e8:ff:28:bd:2e:21:d1:71:03:60:fc: + 23:ac:62:27:e3:85:35:7d:1e:4b:eb:1d:89:a9:ba:35:8b:2d: + 73:6c:b4:ac:fd:b7:8b:63:a6:bd:eb:6f:c9:15:f5:80:32:9d: + 40:40:61:ec:ea:52:c2:06:0f:58:40:c9:d5:35:6d:d7:0d:9f: + a1:9a:69:76 +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJTRTEP +MA0GA1UECAwGU2NhbmlhMRQwEgYDVQQHDAtIZWxzaW5nYm9yZzEMMAoGA1UECgwD +TFRIMRAwDgYDVQQDDAdEZW1vIENBMB4XDTI1MDMyMDE5MDkzNloXDTI2MDMyMDE5 +MDkzNlowUzELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIGA1UEBwwL +SGVsc2luZ2JvcmcxDDAKBgNVBAoMA0xUSDEPMA0GA1UEAwwGY2xpZW50MIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyAaEqm3pHekTcMc81UTU9Jdu+Lb3 +HE6wWN0jNjfWc8slaIRNBuI1MhFsVFJGHSOilBwUlC63ELx/6XPMj+0S/J2CeW40 +eZMb/pj5R6wSxTLDebPjFm+qYytfzzZJ0U7cH+mL8ISVr5wtSKad/a+8ZA8WcW7d +fJOP/ZX/s7wFhDYxv/sjGWQqcHIDY1qaEh221N9ijiAkUPsoz6FFhdEO+7CMYjdN +dP35FjguyiGCxXZwJjBelQIkUdde1b2xa17sRRYHWdVdOUYQMVjKa1LRpR56uz/G +Rpor4fgNCHpnG2MzM+I9IiwqccshiDyr/ZgRUJ5CxqYsbAzjmREkv5UWAwIDAQAB +o3AwbjAfBgNVHSMEGDAWgBS4Uae+NSo88fU/z5qpeJzZZAYX4DAJBgNVHRMEAjAA +MAsGA1UdDwQEAwIE0DAUBgNVHREEDTALgglsb2NhbGhvc3QwHQYDVR0OBBYEFAEE +RSJ4/acsjVIxJiMoGiInPiXdMA0GCSqGSIb3DQEBCwUAA4IBAQBYRFjPXxcUhnri +vKZmH0d/KHex2l++YPluTtlF9p+JO1ry9uUIOeZQcjPysviS77ludiUKm2H7ym8Q +n4THysqa1ahUPkP6a0Ef3Z4tdi0359d4dOP6Xtt//L3O2tSL5dlE/uLV4jyiw/B9 +v1UQml9Lhq0ZbHyCjtg4g3yPZ9sY7o0GsEsTfuhW148xD1yyuBbS6Zn+DfZKlPUo +Veu9B5g+zItIfDi5trocF0V65a+BIqqGzE6HtqCuq23J6P8ovS4h0XEDYPwjrGIn +44U1fR5L6x2Jqbo1iy1zbLSs/beLY6a962/JFfWAMp1AQGHs6lLCBg9YQMnVNW3X +DZ+hmml2 +-----END CERTIFICATE----- + diff --git a/client/client_csr.pem b/client/client_csr.pem new file mode 100644 index 0000000..6096477 --- /dev/null +++ b/client/client_csr.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICrzCCAZcCAQAwUzELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIG +A1UEBwwLSGVsc2luZ2JvcmcxDDAKBgNVBAoMA0xUSDEPMA0GA1UEAwwGY2xpZW50 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyAaEqm3pHekTcMc81UTU +9Jdu+Lb3HE6wWN0jNjfWc8slaIRNBuI1MhFsVFJGHSOilBwUlC63ELx/6XPMj+0S +/J2CeW40eZMb/pj5R6wSxTLDebPjFm+qYytfzzZJ0U7cH+mL8ISVr5wtSKad/a+8 +ZA8WcW7dfJOP/ZX/s7wFhDYxv/sjGWQqcHIDY1qaEh221N9ijiAkUPsoz6FFhdEO ++7CMYjdNdP35FjguyiGCxXZwJjBelQIkUdde1b2xa17sRRYHWdVdOUYQMVjKa1LR +pR56uz/GRpor4fgNCHpnG2MzM+I9IiwqccshiDyr/ZgRUJ5CxqYsbAzjmREkv5UW +AwIDAQABoBcwFQYJKoZIhvcNAQkHMQgMBmNsaWVudDANBgkqhkiG9w0BAQsFAAOC +AQEAdcjvTq7pBLZ4U9w7y9w4MmMhJwxlHVczY9vsYrVj6ncJzd86TrmTyBgL9E4m +kVC472cxJyJD7wdJle04sgiIgbc7QD/ymrDvw6i6LWCZ1UtIKoH8FXGtHjJ5XUt6 +CHw+xVM7QsQ8e3dZToGaMzJMYvjtpeCI7p7BxSPvgK01qMbPasms1sXBMOZik8CU +1uAboIaWmZeIz6j4c3AmUTHnrnY7rvG0rc169JecJwyAQPpxhGuiNrfntOXY7GAK +7JGMO5o2ckEcPyoDPQN9yh02v3x9rZuXMXauW753bmWIXaPngleGMilebXqET9ft +i3WWVu222RZ6h3vHKZ9YkTxyrQ== +-----END CERTIFICATE REQUEST----- diff --git a/client/client_key.pem b/client/client_key.pem new file mode 100644 index 0000000..ccac468 --- /dev/null +++ b/client/client_key.pem @@ -0,0 +1,30 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFNTBfBgkqhkiG9w0BBQ0wUjAxBgkqhkiG9w0BBQwwJAQQJIZ5PnG3zi4pQjrP +tqMRzwICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEAQIEEKeu0IfF3X3mdAhy +7zXuvFsEggTQ3yzt9IPSXg26eF52w/fB9HHANKHSb1ZE80jBFkOtJx+X8AImWXh7 +qxR+O+Kbl1JkO9GPvG55rxs7HwfFUc++pJI/GXQq0/Je0trN8AGccJn41VbeZ+NN +eRAlnf9uAB4ezgMhIGC4wQI11CgO1K+YLUj1pHHFro+wGF+JmP/ndA+CraNyQSEW +yLfnZxXINSzcOrDbkd59zrO6YcLv8LKwvN1nNWHofyjpxmJxFKSo3QVHV7C+LD1o +llplJ4WX7qrWy9OfTogpAQSWPtl9w6p+CccvYR+BhrQ0thjU2dbdGDjXq+U5L0gI +mZhxO9r5IisRFORRKaMJ0evbRUtu0cJpCjAtsYGJyq7MDFprDPN8g4EYl4Xx9u/c +iXkq+quPEJC+Il6Pc2PEbahoBpzQL5p0JOd2gfeFdpb7fbErE50Dc8mTP6c753yy +XZuu9tJyn6DZ2tRtA8N1CmIiAuyw0fhLEuZODkADj0CYqaTBX/F34xlu3YC2aAIF +PQ8CWbSz/jq3ovw7ar03CTHx+5dYExLeo7HlBRro6E/SQuls2Nz2gknROL13LVzF +L4kYpnNBOTjNDpI4EPdN68SGmtJuP5wxCDl2eWLzIJ7K0cMZOL1QB/LeK6XcuRcg +sZPsWgbLxWCq8eFq6/ISzW3925eQ9Wq65bazedUiIMMEMjM5EDKkNGWPZ4TCuIGz +m2PzSQQgiR0eFYPxPwRw+1FNSkjfweRxRr+NI4Ic8pwK68HgA1cm2E76nvxkTcQ/ +abIytSPCBqyk8MZTGOsa2mGVzsdq841TnTDAcrhpiWhlqVKuQYlHHtz05aXcFMAI +HPcwdPoDI37sbyaToUP7x/84kE1LGFt07l2WJBDi08s1Z5TYU9x2ueNt5QUtuHH3 +ekgnxHk/+a6NH8qjBLO7fyNEqa6wbJxpxHc+/zIwb8d4/HWs+qrN9EA1kIDSJxkK +PeUu2ZP0YeAfay8nDRm0cbjkcmCpAbiFEZnIPC4OGpC36j9fMmGAQdcfRmWaOG+q +6sUPpAC0IsrjVFgZXHecuPRfRFaNFVh+BuoJeSr2XbJlmbWOy4FMIjM4bpLx3Ckd +EhzS4q+GZgmexKcCTBnNN2DX4DDVOicRCAbYEUf0IrF2/hVaweyOMrmj4K5/VHkR +Wf8EVXuzv3SkLZIXRTtpgbmB2QYZ11AR1Zp3ObUnC3MjYnu6RqwtF28rnP4kXR05 +7DKDIMz3hAeUZgFCKr9N0mc9/I+e06ln58c9kL8vnwhwwp+o5hrVbTob/oIn3oiC +Dhtwd2pSWIWxdb9ztelRQ6DtxHa6B5Ze0WeFEZxUtquT5aYV3Izm9tgOp01WsURH +/YU/veohX3jTG6Ez3yEGqxphqMwpwPyETmCcTXJgX+PdGASIl5KG/xIsQuyVg8b0 +i6bOOCO1S7MwbHOXS/Ezr6m0eeh4ijDNGe9WkZ2MDCxrRZFwhS2rYXwItv6gxPJm +4Kh7yYUQKTMK4oD7InIaYt3lm10Q7Jk0nd2Af86kdmj8F6zDKihSnxrVGkfbPRnW +KdtLxbJDERPvzLQu3al1NFFV7rRw+qBCtvD4WdXeUzRkaiG3U6Hg/SUpSWLwfM17 +TZkgzuG1C+9HgsB3qqtE3x3nHKGlW7kFld9yhJHTCWlrLAxw3mk9gfE= +-----END ENCRYPTED PRIVATE KEY----- diff --git a/client/client_v3.txt b/client/client_v3.txt new file mode 100644 index 0000000..3dd87d8 --- /dev/null +++ b/client/client_v3.txt @@ -0,0 +1,6 @@ +authorityKeyIdentifier=keyid,issuer +basicConstraints=CA:FALSE +keyUsage = digitalSignature, nonRepudiation, dataEncipherment +subjectAltName = @alt_names +[ alt_names ] +DNS.1 = localhost diff --git a/client/mytruststore.jks b/client/mytruststore.jks new file mode 100644 index 0000000..8dc52e6 Binary files /dev/null and b/client/mytruststore.jks differ diff --git a/client/p12_client_dump.txt b/client/p12_client_dump.txt new file mode 100644 index 0000000..5b226cf --- /dev/null +++ b/client/p12_client_dump.txt @@ -0,0 +1,89 @@ +MAC: sha256, Iteration 2048 +MAC length: 32, salt length: 8 +PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256 +Certificate bag +Bag Attributes + localKeyID: 72 8E 03 00 21 4E 63 EA C8 A9 F3 CB 25 2E 21 89 7B CC 34 59 +subject=C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=client +issuer=C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=Demo CA +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJTRTEP +MA0GA1UECAwGU2NhbmlhMRQwEgYDVQQHDAtIZWxzaW5nYm9yZzEMMAoGA1UECgwD +TFRIMRAwDgYDVQQDDAdEZW1vIENBMB4XDTI1MDMyMDE5MDkzNloXDTI2MDMyMDE5 +MDkzNlowUzELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIGA1UEBwwL +SGVsc2luZ2JvcmcxDDAKBgNVBAoMA0xUSDEPMA0GA1UEAwwGY2xpZW50MIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyAaEqm3pHekTcMc81UTU9Jdu+Lb3 +HE6wWN0jNjfWc8slaIRNBuI1MhFsVFJGHSOilBwUlC63ELx/6XPMj+0S/J2CeW40 +eZMb/pj5R6wSxTLDebPjFm+qYytfzzZJ0U7cH+mL8ISVr5wtSKad/a+8ZA8WcW7d +fJOP/ZX/s7wFhDYxv/sjGWQqcHIDY1qaEh221N9ijiAkUPsoz6FFhdEO+7CMYjdN +dP35FjguyiGCxXZwJjBelQIkUdde1b2xa17sRRYHWdVdOUYQMVjKa1LRpR56uz/G +Rpor4fgNCHpnG2MzM+I9IiwqccshiDyr/ZgRUJ5CxqYsbAzjmREkv5UWAwIDAQAB +o3AwbjAfBgNVHSMEGDAWgBS4Uae+NSo88fU/z5qpeJzZZAYX4DAJBgNVHRMEAjAA +MAsGA1UdDwQEAwIE0DAUBgNVHREEDTALgglsb2NhbGhvc3QwHQYDVR0OBBYEFAEE +RSJ4/acsjVIxJiMoGiInPiXdMA0GCSqGSIb3DQEBCwUAA4IBAQBYRFjPXxcUhnri +vKZmH0d/KHex2l++YPluTtlF9p+JO1ry9uUIOeZQcjPysviS77ludiUKm2H7ym8Q +n4THysqa1ahUPkP6a0Ef3Z4tdi0359d4dOP6Xtt//L3O2tSL5dlE/uLV4jyiw/B9 +v1UQml9Lhq0ZbHyCjtg4g3yPZ9sY7o0GsEsTfuhW148xD1yyuBbS6Zn+DfZKlPUo +Veu9B5g+zItIfDi5trocF0V65a+BIqqGzE6HtqCuq23J6P8ovS4h0XEDYPwjrGIn +44U1fR5L6x2Jqbo1iy1zbLSs/beLY6a962/JFfWAMp1AQGHs6lLCBg9YQMnVNW3X +DZ+hmml2 +-----END CERTIFICATE----- +Certificate bag +Bag Attributes: +subject=C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=Demo CA +issuer=C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=Demo CA +-----BEGIN CERTIFICATE----- +MIIDiTCCAnGgAwIBAgIUEC/916IPhPFZDzRcBKdroSIvt6owDQYJKoZIhvcNAQEL +BQAwVDELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIGA1UEBwwLSGVs +c2luZ2JvcmcxDDAKBgNVBAoMA0xUSDEQMA4GA1UEAwwHRGVtbyBDQTAeFw0yNTAz +MTgyMTI2NTRaFw0zNTAzMTYyMTI2NTRaMFQxCzAJBgNVBAYTAlNFMQ8wDQYDVQQI +DAZTY2FuaWExFDASBgNVBAcMC0hlbHNpbmdib3JnMQwwCgYDVQQKDANMVEgxEDAO +BgNVBAMMB0RlbW8gQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx +ha5gGVlMSegf8iC2R+qUFveWrYQzCCNkb/RXB9dVpnkxB3plwTfzy761KdeJZptV +D0kGa7iuncYtDM0j0jFOdp0Rk2a4rpoUJRm8beCMVV6fQXnKnX6dlUHXP7Xd9qh+ +y/e/N2fm5ut5pi+QgJ3Y33PPOcAB2Jsrpg/kAYbjT+TB1rD3xMPFcNrv7eJYV64S +BSCAe7vTW+2QRWa8ullMfbnona4QRTQ+2Rn4ibPQPAMlL0K2FGisGfbB2aTsi8Ru +ZMmfvqDRRFJlIC7MTcsH6RG0WdD4YPyg0banpDCsQaywo0v6owBHi2YEmyvYt85s +3zBGyZ850qdh7SKF8JqNAgMBAAGjUzBRMB0GA1UdDgQWBBS4Uae+NSo88fU/z5qp +eJzZZAYX4DAfBgNVHSMEGDAWgBS4Uae+NSo88fU/z5qpeJzZZAYX4DAPBgNVHRMB +Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQA+LOL8gcO1A+a/UbBUKf1rYOqR +LwV7jIOwD1A+SUGIQV7HwiVsPEbG30MAUY7/HjMCtw3e1nOME2byCrb8e4Q1/zXs +dP6C5fW8XRZ1IqUIOHlxwRTdnRicwe5mhF+8VCXJwBC6gYaxy1ph3KeSp6vHiWQO +aFuPSgUaYd3m6mT6Q9N65j9eSSaO48gtS/ZcfbrDw0dV3BZiKltUm75gjEyxfYfx +9cFTiVawg13plvaTyUR7O3wKbJMyNCeQKhSURi7n8p80E2SSpUjJSzlv7oQ8j57+ +HTW+qygw0skaTHajWYUpNnL3PbMIWWJSmcleO97cOpLVEpkD7vkRVFATDSkO +-----END CERTIFICATE----- +PKCS7 Data +Shrouded Keybag: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256 +Bag Attributes + localKeyID: 72 8E 03 00 21 4E 63 EA C8 A9 F3 CB 25 2E 21 89 7B CC 34 59 +Key Attributes: +-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDIBoSqbekd6RNw +xzzVRNT0l274tvccTrBY3SM2N9ZzyyVohE0G4jUyEWxUUkYdI6KUHBSULrcQvH/p +c8yP7RL8nYJ5bjR5kxv+mPlHrBLFMsN5s+MWb6pjK1/PNknRTtwf6YvwhJWvnC1I +pp39r7xkDxZxbt18k4/9lf+zvAWENjG/+yMZZCpwcgNjWpoSHbbU32KOICRQ+yjP +oUWF0Q77sIxiN010/fkWOC7KIYLFdnAmMF6VAiRR117VvbFrXuxFFgdZ1V05RhAx +WMprUtGlHnq7P8ZGmivh+A0IemcbYzMz4j0iLCpxyyGIPKv9mBFQnkLGpixsDOOZ +ESS/lRYDAgMBAAECggEAX1Hz4L/V6oIK2KCplbxie1i68l1Grz+0e/SN9iVv1eiG +ICOEDXa5AO4aoKhAb1xu+oPTLraAWMJrdlXPsvq4JJfu+G0TJqh7G73MdWJD46OI +UbPu0N9P5EhkNPva+5rH/ZEvNeQI7RHQ5qE4Aw+/CDPEbzP06ovrf13+56j/O/w7 +1Re3wzgZCDweNjMmQ5yj18pAjy2vBow+AU35DpTCu4IPLVanp4JaHIUwb64QWPb7 +gCnN1Emt+77FtjSqq5i5b4L8879d8GjI/iByKqxhFtk1XzPwK/Xltr75kGOcZAMK +hy2E2zYVhmKRL4WMQBvthdVTbKegsr2dRFCEH0gpmQKBgQDj3M4d2rUplT0++aPu +mADDEKYI+CZ+9h1jojHCevWMrNRw7o24aB/6cbsGnEt5q+kMOsmy84AEtA8b9pAY +x6pw0cxFQ13vZZ7syxNNBPrz2fcVT0eQ7Qji7JIaeYXIRgz4b+ZrbWPb1CiPcwKJ +KUPIai698FAibjIwx2UJwjmfrwKBgQDgubo29+ETn+hs0T8nbPD62Fz80SniLLcP +Pa6kYABDACM+RPL+lcgFjbtKWnTTyVFJRRs5t3a+be4m8eFqHHnj0hMWsv5WaOn9 +VVuDQngAIP2B/jnOSCX7H3nUsZ6BNmkBIXpjdX54iAK5it9U7IqqpJcqZFLljZHH +MGownW8P7QKBgB6JhfoMSIElJgsdi7G7H0cFIStMjmQvearTntWQgv3yX5ou7kFL +exWmTklJgvfwaRAhhMx9w6ddtjSqK4+Wmqn6A+U4bQtbVBwp7xFAXJ13lZx+fnnW +un0m9UGlDZ/Ue4KEBJ5bD6nzWeg3opxdMl9Wk6MS5LpoiENvRYQ0SmKzAoGAJyKQ ++EOgsb82RcUG34HMUZLeVrTCO34X/xJ52GxTf1eFy7FMM+O3qqftBtzL3ZoAiub6 +/8kgZ7dTMvsKi2UcIP2Tj29qdXfdz91Oi4RGy5bzLvEr9e2Al8P6fnzUIqJsFONU +of9zH+BnwRIbJHnxCBiTrrE78nf9/BdFVuQD1F0CgYBMSzWVmCmZJdGJneKXJWCb +iI/MbByIs0BBoHOTdmbRiwk7woithrtB+KuWkCpADRKwpl37gw2Z9TCOz3bOXVVw +AzJoiJjRDBBMpfwgcwU7tWczfcEsRNddCMlMJJ0d3p+6riNWGvfpn0iIIQbLANur +u9DeZHqT6p1xtIn7x7LvRg== +-----END PRIVATE KEY----- + diff --git a/images/MutualTLS.png b/images/MutualTLS.png new file mode 100644 index 0000000..136fac5 Binary files /dev/null and b/images/MutualTLS.png differ diff --git a/images/Pasted image (2).png b/images/Pasted image (2).png new file mode 100644 index 0000000..e7f8be8 Binary files /dev/null and b/images/Pasted image (2).png differ diff --git a/images/Pasted image (3).png b/images/Pasted image (3).png new file mode 100644 index 0000000..62b4aa6 Binary files /dev/null and b/images/Pasted image (3).png differ diff --git a/images/Pasted image (4).png b/images/Pasted image (4).png new file mode 100644 index 0000000..d30d18a Binary files /dev/null and b/images/Pasted image (4).png differ diff --git a/images/Pasted image (5).png b/images/Pasted image (5).png new file mode 100644 index 0000000..b87f704 Binary files /dev/null and b/images/Pasted image (5).png differ diff --git a/images/Pasted image (6).png b/images/Pasted image (6).png new file mode 100644 index 0000000..167f5e5 Binary files /dev/null and b/images/Pasted image (6).png differ diff --git a/images/Pasted image (7).png b/images/Pasted image (7).png new file mode 100644 index 0000000..88f3c37 Binary files /dev/null and b/images/Pasted image (7).png differ diff --git a/images/Pasted image.png b/images/Pasted image.png new file mode 100644 index 0000000..7608206 Binary files /dev/null and b/images/Pasted image.png differ diff --git a/images/SSLKEYLOGFILE.png b/images/SSLKEYLOGFILE.png new file mode 100644 index 0000000..4ac2a23 Binary files /dev/null and b/images/SSLKEYLOGFILE.png differ diff --git a/images/ServerAuthOnly.png b/images/ServerAuthOnly.png new file mode 100644 index 0000000..3f334e4 Binary files /dev/null and b/images/ServerAuthOnly.png differ diff --git a/server.p12 b/server.p12 new file mode 100644 index 0000000..54f2fc4 Binary files /dev/null and b/server.p12 differ diff --git a/server/TLSServer.class b/server/TLSServer.class new file mode 100644 index 0000000..6789b82 Binary files /dev/null and b/server/TLSServer.class differ diff --git a/server/TLSServer.java b/server/TLSServer.java new file mode 100644 index 0000000..59a37cf --- /dev/null +++ b/server/TLSServer.java @@ -0,0 +1,62 @@ +// Douglas Fjällrud, Axel Blomén, Grupp 35 +package server; + +import javax.net.ssl.*; +import java.io.*; +import java.security.*; +import java.security.cert.CertificateException; + +public class TLSServer { + private static final String SERVER_KEYSTORE_PATH = "../server.p12"; + private static final String SERVER_KEYSTORE_PASSWORD = "server"; + + private static final int TLS_PORT = 8043; + + public static void main(String[] args) { + try { + KeyStore keyStore = KeyStore.getInstance("PKCS12"); + try (FileInputStream fis = new FileInputStream(SERVER_KEYSTORE_PATH)) { + keyStore.load(fis, SERVER_KEYSTORE_PASSWORD.toCharArray()); + } + + KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); + kmf.init(keyStore, SERVER_KEYSTORE_PASSWORD.toCharArray()); + KeyManager[] keyManagers = kmf.getKeyManagers(); + + SSLContext sslContext = SSLContext.getInstance("TLSv1.3"); + sslContext.init(keyManagers, null, new SecureRandom()); + + SSLServerSocketFactory sslServerSocketFactory = sslContext.getServerSocketFactory(); + + try (SSLServerSocket sslServerSocket = + (SSLServerSocket) sslServerSocketFactory.createServerSocket(TLS_PORT)) { + + System.out.println("TLS-server startad. Lyssnar på port " + TLS_PORT + "..."); + + while (true) { + try (SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept()) { + String[] enabledCiphers = { "TLS_AES_128_GCM_SHA256" }; + sslSocket.setEnabledCipherSuites(enabledCiphers); + + sslSocket.startHandshake(); + + BufferedReader br = new BufferedReader( + new InputStreamReader(sslSocket.getInputStream())); + PrintWriter pw = new PrintWriter(sslSocket.getOutputStream(), true); + + String line; + while ((line = br.readLine()) != null) { + System.out.println("Mottaget: " + line); + pw.println("Echo: " + line); + } + } catch (IOException e) { + System.err.println("Fel vid hantering av klientanslutning: " + e.getMessage()); + } + } + } + } catch (KeyStoreException | IOException | NoSuchAlgorithmException + | CertificateException | KeyManagementException | UnrecoverableKeyException e) { + e.printStackTrace(); + } + } +} diff --git a/server/TLSServerMutual.java b/server/TLSServerMutual.java new file mode 100644 index 0000000..c3ddf16 --- /dev/null +++ b/server/TLSServerMutual.java @@ -0,0 +1,75 @@ +// Douglas Fjällrud, Axel Blomén, Grupp 35 +package server; + +import javax.net.ssl.*; +import java.io.*; +import java.security.*; +import java.security.cert.CertificateException; + +public class TLSServerMutual { + private static final String SERVER_KEYSTORE_PATH = "../server.p12"; + private static final String SERVER_KEYSTORE_PASSWORD = "server"; + + private static final String SERVER_TRUSTSTORE_PATH = "serverTrustStore.jks"; + private static final String SERVER_TRUSTSTORE_PASSWORD = "trustpass"; + + private static final int TLS_PORT = 8043; + + public static void main(String[] args) { + try { + KeyStore serverKeyStore = KeyStore.getInstance("PKCS12"); + try (FileInputStream fis = new FileInputStream(SERVER_KEYSTORE_PATH)) { + serverKeyStore.load(fis, SERVER_KEYSTORE_PASSWORD.toCharArray()); + } + + KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); + kmf.init(serverKeyStore, SERVER_KEYSTORE_PASSWORD.toCharArray()); + KeyManager[] keyManagers = kmf.getKeyManagers(); + + KeyStore trustStore = KeyStore.getInstance("JKS"); + try (FileInputStream trustFis = new FileInputStream(SERVER_TRUSTSTORE_PATH)) { + trustStore.load(trustFis, SERVER_TRUSTSTORE_PASSWORD.toCharArray()); + } + + TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); + tmf.init(trustStore); + TrustManager[] trustManagers = tmf.getTrustManagers(); + + SSLContext sslContext = SSLContext.getInstance("TLSv1.3"); + sslContext.init(keyManagers, trustManagers, new SecureRandom()); + + SSLServerSocketFactory sslServerSocketFactory = sslContext.getServerSocketFactory(); + try (SSLServerSocket sslServerSocket = + (SSLServerSocket) sslServerSocketFactory.createServerSocket(TLS_PORT)) { + + System.out.println("TLS-server startad på port " + TLS_PORT + "."); + + String[] ciphers = { "TLS_AES_128_GCM_SHA256" }; + sslServerSocket.setEnabledCipherSuites(ciphers); + + sslServerSocket.setNeedClientAuth(true); + + while (true) { + try (SSLSocket sslSocket = (SSLSocket) sslServerSocket.accept(); + BufferedReader br = new BufferedReader(new InputStreamReader(sslSocket.getInputStream())); + PrintWriter pw = new PrintWriter(sslSocket.getOutputStream(), true)) { + + System.out.println("Klient ansluten: " + sslSocket.getInetAddress()); + + String line; + while ((line = br.readLine()) != null) { + System.out.println("Mottaget: " + line); + pw.println("Echo: " + line); + } + System.out.println("Klient frånkopplad."); + } catch (IOException e) { + System.err.println("Fel vid hantering av klientanslutning: " + e.getMessage()); + } + } + } + } catch (KeyStoreException | IOException | NoSuchAlgorithmException + | CertificateException | KeyManagementException | UnrecoverableKeyException e) { + e.printStackTrace(); + } + } +} diff --git a/server/p12_server_dumb.txt b/server/p12_server_dumb.txt new file mode 100644 index 0000000..818ef66 --- /dev/null +++ b/server/p12_server_dumb.txt @@ -0,0 +1,89 @@ +MAC: sha256, Iteration 2048 +MAC length: 32, salt length: 8 +PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256 +Certificate bag +Bag Attributes + localKeyID: 3E 59 67 24 98 50 F2 0B FA AB BD 16 DE 68 59 C5 C7 A7 F9 BC +subject=C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=localhost +issuer=C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=Demo CA +-----BEGIN CERTIFICATE----- +MIIDlTCCAn2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJTRTEP +MA0GA1UECAwGU2NhbmlhMRQwEgYDVQQHDAtIZWxzaW5nYm9yZzEMMAoGA1UECgwD +TFRIMRAwDgYDVQQDDAdEZW1vIENBMB4XDTI1MDMyMDE4NTYzM1oXDTI2MDMyMDE4 +NTYzM1owVjELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIGA1UEBwwL +SGVsc2luZ2JvcmcxDDAKBgNVBAoMA0xUSDESMBAGA1UEAwwJbG9jYWxob3N0MIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArzo3k9eJeToPmmVxuf5exSQL +uQ0/1N7Sc8mKWKRZSdXRmGQSDaO9sKYCfcGT/BhhwvSOyYYDOfRCFF/VUM41pPG7 +WKzO6/TUbDrqvsarbt55NrWnFVzR/MaH0OWZsD6MlOfk4t5S4xrn+YSv/6vLPq/2 +8u4clLfQ9HuIRZ2Y/06iPuVmxV3cTwS7OLjVbRpzoqFv6bw7sbGxZzkMFjI/U1zC +aFG1pK4C0Kv/exSG7o7GaYAtpZpleZ3UhLTPee51/4mfBrC903k+Zi5eyotbEfxj +aHwdcoza8b5CvHxy0lFlq4w1quporF0Sz4y1uYUIE0tnXnQyptuINgGvUhyJGQID +AQABo3AwbjAfBgNVHSMEGDAWgBS4Uae+NSo88fU/z5qpeJzZZAYX4DAJBgNVHRME +AjAAMAsGA1UdDwQEAwIDqDAUBgNVHREEDTALgglsb2NhbGhvc3QwHQYDVR0OBBYE +FHPTfM6n7lZjsjN5CVZFZQSoZL6rMA0GCSqGSIb3DQEBCwUAA4IBAQAt3W8hfwuG +HdxtjJ4uIzuIAKGby7j+lgBO3upSx4sMkBdqEWoizu02U+DBMOGE4zq/zYYkLWcR +vFxpT5XVR9bRtT9w/gjuQ6unT+UnmQJ3qujdIw5Iuo92bdWtAIFggWSbLkD93KCz +pObAEZ9mFl9Gownz9Z2xPm0SKPFqli1xcEwrmH+zskJqw21JhFZN424djiaJxS+d +4kDE0IvHqbgODeGanLC38QJQMOaaaCSjxhi00FUrSuidjz9CWfklCDYQrRQXfJB4 +w0unHVtXaG0vYily8NAY7rCMd08USvd6r8UTjYy87UxYJ3TI8Hi0XLB/ltHkTkeQ +Sm1Nt5Yv6Ht+ +-----END CERTIFICATE----- +Certificate bag +Bag Attributes: +subject=C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=Demo CA +issuer=C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=Demo CA +-----BEGIN CERTIFICATE----- +MIIDiTCCAnGgAwIBAgIUEC/916IPhPFZDzRcBKdroSIvt6owDQYJKoZIhvcNAQEL +BQAwVDELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIGA1UEBwwLSGVs +c2luZ2JvcmcxDDAKBgNVBAoMA0xUSDEQMA4GA1UEAwwHRGVtbyBDQTAeFw0yNTAz +MTgyMTI2NTRaFw0zNTAzMTYyMTI2NTRaMFQxCzAJBgNVBAYTAlNFMQ8wDQYDVQQI +DAZTY2FuaWExFDASBgNVBAcMC0hlbHNpbmdib3JnMQwwCgYDVQQKDANMVEgxEDAO +BgNVBAMMB0RlbW8gQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCx +ha5gGVlMSegf8iC2R+qUFveWrYQzCCNkb/RXB9dVpnkxB3plwTfzy761KdeJZptV +D0kGa7iuncYtDM0j0jFOdp0Rk2a4rpoUJRm8beCMVV6fQXnKnX6dlUHXP7Xd9qh+ +y/e/N2fm5ut5pi+QgJ3Y33PPOcAB2Jsrpg/kAYbjT+TB1rD3xMPFcNrv7eJYV64S +BSCAe7vTW+2QRWa8ullMfbnona4QRTQ+2Rn4ibPQPAMlL0K2FGisGfbB2aTsi8Ru +ZMmfvqDRRFJlIC7MTcsH6RG0WdD4YPyg0banpDCsQaywo0v6owBHi2YEmyvYt85s +3zBGyZ850qdh7SKF8JqNAgMBAAGjUzBRMB0GA1UdDgQWBBS4Uae+NSo88fU/z5qp +eJzZZAYX4DAfBgNVHSMEGDAWgBS4Uae+NSo88fU/z5qpeJzZZAYX4DAPBgNVHRMB +Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQA+LOL8gcO1A+a/UbBUKf1rYOqR +LwV7jIOwD1A+SUGIQV7HwiVsPEbG30MAUY7/HjMCtw3e1nOME2byCrb8e4Q1/zXs +dP6C5fW8XRZ1IqUIOHlxwRTdnRicwe5mhF+8VCXJwBC6gYaxy1ph3KeSp6vHiWQO +aFuPSgUaYd3m6mT6Q9N65j9eSSaO48gtS/ZcfbrDw0dV3BZiKltUm75gjEyxfYfx +9cFTiVawg13plvaTyUR7O3wKbJMyNCeQKhSURi7n8p80E2SSpUjJSzlv7oQ8j57+ +HTW+qygw0skaTHajWYUpNnL3PbMIWWJSmcleO97cOpLVEpkD7vkRVFATDSkO +-----END CERTIFICATE----- +PKCS7 Data +Shrouded Keybag: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256 +Bag Attributes + localKeyID: 3E 59 67 24 98 50 F2 0B FA AB BD 16 DE 68 59 C5 C7 A7 F9 BC +Key Attributes: +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCvOjeT14l5Og+a +ZXG5/l7FJAu5DT/U3tJzyYpYpFlJ1dGYZBINo72wpgJ9wZP8GGHC9I7JhgM59EIU +X9VQzjWk8btYrM7r9NRsOuq+xqtu3nk2tacVXNH8xofQ5ZmwPoyU5+Ti3lLjGuf5 +hK//q8s+r/by7hyUt9D0e4hFnZj/TqI+5WbFXdxPBLs4uNVtGnOioW/pvDuxsbFn +OQwWMj9TXMJoUbWkrgLQq/97FIbujsZpgC2lmmV5ndSEtM957nX/iZ8GsL3TeT5m +Ll7Ki1sR/GNofB1yjNrxvkK8fHLSUWWrjDWq6misXRLPjLW5hQgTS2dedDKm24g2 +Aa9SHIkZAgMBAAECggEAF//RPN54ZbIeEPdz7BV6xWV6dY3rACzEhjdES3+2+vXe +DxElp9iVUmxqSu8IZa6xNRJpvBAuwPFDW6cEgFy93Cl/j1WbwZV2wpwPKrHrKPQv +hd67U6Gy4PwP/fx0YD8w4fQg1TG+CHzW6MXTlSDiZWOUXxFduMC0TcfdkitTmSPh +w+oMhQrAhBvoRa5d56sQs0O3pjCTJvh6h1GYbhgCG6qf4CD2EiJYphshu7hRBaG0 +HZIYAPp6BYsjETdLJ1uv4i5aAkndJmghPD4rcvxgAPTNP5VHt4imISNQFU4lB29P +iOUQVxz8K3qEm2UGifTKBdUl+7Jqa/P3wIDTbaiXQQKBgQDk3fklgIKKZ+jveGJn +ot5kNDsZeKhuc36z7hMliSkNyMtDOTNPUIX0cB3xBiMqVohGa9i36nMgRYvXo6Kp +VMZIZKPJ7CtyCVtrFeH9CJKOZ3eyjcs1DXXccLDW5SIllNb0cJm7GShjXIldAHez +YMuP7MZV+UwDNOFdDtUPeOKGNwKBgQDEAEz77twS9kT3+EbPunawGzjZlOSIlB0L +Kzn8dqnQsefetMyKSlVhpOVyp08AeV+piZHafe9I2nucPd3GWs781roiNGvB+ILp +jIz2CAXyng93O1xHZueaSgYVzkbXWTDGVF7SSxp0ahpwR0cmbO+orLQwZr4kijVi +spDniQbDLwKBgQCPyJifI+ZfN7rSv6nq/BqFj37VmMUQZwTh258xxMMDAvQYLpZ6 +rNcLY2icJMPw9F43B8gme2eKjca2Wfp2MWlEz91KnVIKGbDSTPQmOL2CM6Syi3xv +vx4duLqQt3FFdQW6mgcq0TpbeiZeRE3vZs9cg19zYeSMWyt+gDQAvWxq7wKBgHiK +/s3K34rB7zTaeyJyuWAhvdsDWXIuNZaS5TzB9jqlz8cGRu2ePdipw3u6LjpKa20n +cI6B+VJDHNbArc66NqcFoMA8oTFQl6LvkBoYYSAP2c8osN4xCau4bvmmPadf8UFo +zlBjZEfIoa4ACGA3i0WfwcoqxjJO1fp3e+sKOSB9AoGBAOGbi5fIFMFIyimeDBD1 ++aSj7oa0HC0S3mgTfM+O4/VUPsd+7vXQRBDPXxbJz5RLADgmkQzo6o63y3ngsBRF +A091WPtzbWOawDlpi1fZ6YgIRjkuZr50mfvs0DspDyE5RIB2qYxkET6Y8Bj65HG8 +F1jgqbqCcZVJczTUniTK+wQd +-----END PRIVATE KEY----- + diff --git a/server/serverTrustStore.jks b/server/serverTrustStore.jks new file mode 100644 index 0000000..b5a2ef3 Binary files /dev/null and b/server/serverTrustStore.jks differ diff --git a/server/server_cert.pem b/server/server_cert.pem new file mode 100644 index 0000000..ea4c905 --- /dev/null +++ b/server/server_cert.pem @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDlTCCAn2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJTRTEP +MA0GA1UECAwGU2NhbmlhMRQwEgYDVQQHDAtIZWxzaW5nYm9yZzEMMAoGA1UECgwD +TFRIMRAwDgYDVQQDDAdEZW1vIENBMB4XDTI1MDMyMDE4NTYzM1oXDTI2MDMyMDE4 +NTYzM1owVjELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIGA1UEBwwL +SGVsc2luZ2JvcmcxDDAKBgNVBAoMA0xUSDESMBAGA1UEAwwJbG9jYWxob3N0MIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArzo3k9eJeToPmmVxuf5exSQL +uQ0/1N7Sc8mKWKRZSdXRmGQSDaO9sKYCfcGT/BhhwvSOyYYDOfRCFF/VUM41pPG7 +WKzO6/TUbDrqvsarbt55NrWnFVzR/MaH0OWZsD6MlOfk4t5S4xrn+YSv/6vLPq/2 +8u4clLfQ9HuIRZ2Y/06iPuVmxV3cTwS7OLjVbRpzoqFv6bw7sbGxZzkMFjI/U1zC +aFG1pK4C0Kv/exSG7o7GaYAtpZpleZ3UhLTPee51/4mfBrC903k+Zi5eyotbEfxj +aHwdcoza8b5CvHxy0lFlq4w1quporF0Sz4y1uYUIE0tnXnQyptuINgGvUhyJGQID +AQABo3AwbjAfBgNVHSMEGDAWgBS4Uae+NSo88fU/z5qpeJzZZAYX4DAJBgNVHRME +AjAAMAsGA1UdDwQEAwIDqDAUBgNVHREEDTALgglsb2NhbGhvc3QwHQYDVR0OBBYE +FHPTfM6n7lZjsjN5CVZFZQSoZL6rMA0GCSqGSIb3DQEBCwUAA4IBAQAt3W8hfwuG +HdxtjJ4uIzuIAKGby7j+lgBO3upSx4sMkBdqEWoizu02U+DBMOGE4zq/zYYkLWcR +vFxpT5XVR9bRtT9w/gjuQ6unT+UnmQJ3qujdIw5Iuo92bdWtAIFggWSbLkD93KCz +pObAEZ9mFl9Gownz9Z2xPm0SKPFqli1xcEwrmH+zskJqw21JhFZN424djiaJxS+d +4kDE0IvHqbgODeGanLC38QJQMOaaaCSjxhi00FUrSuidjz9CWfklCDYQrRQXfJB4 +w0unHVtXaG0vYily8NAY7rCMd08USvd6r8UTjYy87UxYJ3TI8Hi0XLB/ltHkTkeQ +Sm1Nt5Yv6Ht+ +-----END CERTIFICATE----- diff --git a/server/server_cert_dump.txt b/server/server_cert_dump.txt new file mode 100644 index 0000000..07e80d8 --- /dev/null +++ b/server/server_cert_dump.txt @@ -0,0 +1,84 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1 (0x1) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=Demo CA + Validity + Not Before: Mar 20 18:56:33 2025 GMT + Not After : Mar 20 18:56:33 2026 GMT + Subject: C=SE, ST=Scania, L=Helsingborg, O=LTH, CN=localhost + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:af:3a:37:93:d7:89:79:3a:0f:9a:65:71:b9:fe: + 5e:c5:24:0b:b9:0d:3f:d4:de:d2:73:c9:8a:58:a4: + 59:49:d5:d1:98:64:12:0d:a3:bd:b0:a6:02:7d:c1: + 93:fc:18:61:c2:f4:8e:c9:86:03:39:f4:42:14:5f: + d5:50:ce:35:a4:f1:bb:58:ac:ce:eb:f4:d4:6c:3a: + ea:be:c6:ab:6e:de:79:36:b5:a7:15:5c:d1:fc:c6: + 87:d0:e5:99:b0:3e:8c:94:e7:e4:e2:de:52:e3:1a: + e7:f9:84:af:ff:ab:cb:3e:af:f6:f2:ee:1c:94:b7: + d0:f4:7b:88:45:9d:98:ff:4e:a2:3e:e5:66:c5:5d: + dc:4f:04:bb:38:b8:d5:6d:1a:73:a2:a1:6f:e9:bc: + 3b:b1:b1:b1:67:39:0c:16:32:3f:53:5c:c2:68:51: + b5:a4:ae:02:d0:ab:ff:7b:14:86:ee:8e:c6:69:80: + 2d:a5:9a:65:79:9d:d4:84:b4:cf:79:ee:75:ff:89: + 9f:06:b0:bd:d3:79:3e:66:2e:5e:ca:8b:5b:11:fc: + 63:68:7c:1d:72:8c:da:f1:be:42:bc:7c:72:d2:51: + 65:ab:8c:35:aa:ea:68:ac:5d:12:cf:8c:b5:b9:85: + 08:13:4b:67:5e:74:32:a6:db:88:36:01:af:52:1c: + 89:19 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Authority Key Identifier: + B8:51:A7:BE:35:2A:3C:F1:F5:3F:CF:9A:A9:78:9C:D9:64:06:17:E0 + X509v3 Basic Constraints: + CA:FALSE + X509v3 Key Usage: + Digital Signature, Key Encipherment, Key Agreement + X509v3 Subject Alternative Name: + DNS:localhost + X509v3 Subject Key Identifier: + 73:D3:7C:CE:A7:EE:56:63:B2:33:79:09:56:45:65:04:A8:64:BE:AB + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + 2d:dd:6f:21:7f:0b:86:1d:dc:6d:8c:9e:2e:23:3b:88:00:a1: + 9b:cb:b8:fe:96:00:4e:de:ea:52:c7:8b:0c:90:17:6a:11:6a: + 22:ce:ed:36:53:e0:c1:30:e1:84:e3:3a:bf:cd:86:24:2d:67: + 11:bc:5c:69:4f:95:d5:47:d6:d1:b5:3f:70:fe:08:ee:43:ab: + a7:4f:e5:27:99:02:77:aa:e8:dd:23:0e:48:ba:8f:76:6d:d5: + ad:00:81:60:81:64:9b:2e:40:fd:dc:a0:b3:a4:e6:c0:11:9f: + 66:16:5f:46:a3:09:f3:f5:9d:b1:3e:6d:12:28:f1:6a:96:2d: + 71:70:4c:2b:98:7f:b3:b2:42:6a:c3:6d:49:84:56:4d:e3:6e: + 1d:8e:26:89:c5:2f:9d:e2:40:c4:d0:8b:c7:a9:b8:0e:0d:e1: + 9a:9c:b0:b7:f1:02:50:30:e6:9a:68:24:a3:c6:18:b4:d0:55: + 2b:4a:e8:9d:8f:3f:42:59:f9:25:08:36:10:ad:14:17:7c:90: + 78:c3:4b:a7:1d:5b:57:68:6d:2f:62:29:72:f0:d0:18:ee:b0: + 8c:77:4f:14:4a:f7:7a:af:c5:13:8d:8c:bc:ed:4c:58:27:74: + c8:f0:78:b4:5c:b0:7f:96:d1:e4:4e:47:90:4a:6d:4d:b7:96: + 2f:e8:7b:7e +-----BEGIN CERTIFICATE----- +MIIDlTCCAn2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBUMQswCQYDVQQGEwJTRTEP +MA0GA1UECAwGU2NhbmlhMRQwEgYDVQQHDAtIZWxzaW5nYm9yZzEMMAoGA1UECgwD +TFRIMRAwDgYDVQQDDAdEZW1vIENBMB4XDTI1MDMyMDE4NTYzM1oXDTI2MDMyMDE4 +NTYzM1owVjELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIGA1UEBwwL +SGVsc2luZ2JvcmcxDDAKBgNVBAoMA0xUSDESMBAGA1UEAwwJbG9jYWxob3N0MIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArzo3k9eJeToPmmVxuf5exSQL +uQ0/1N7Sc8mKWKRZSdXRmGQSDaO9sKYCfcGT/BhhwvSOyYYDOfRCFF/VUM41pPG7 +WKzO6/TUbDrqvsarbt55NrWnFVzR/MaH0OWZsD6MlOfk4t5S4xrn+YSv/6vLPq/2 +8u4clLfQ9HuIRZ2Y/06iPuVmxV3cTwS7OLjVbRpzoqFv6bw7sbGxZzkMFjI/U1zC +aFG1pK4C0Kv/exSG7o7GaYAtpZpleZ3UhLTPee51/4mfBrC903k+Zi5eyotbEfxj +aHwdcoza8b5CvHxy0lFlq4w1quporF0Sz4y1uYUIE0tnXnQyptuINgGvUhyJGQID +AQABo3AwbjAfBgNVHSMEGDAWgBS4Uae+NSo88fU/z5qpeJzZZAYX4DAJBgNVHRME +AjAAMAsGA1UdDwQEAwIDqDAUBgNVHREEDTALgglsb2NhbGhvc3QwHQYDVR0OBBYE +FHPTfM6n7lZjsjN5CVZFZQSoZL6rMA0GCSqGSIb3DQEBCwUAA4IBAQAt3W8hfwuG +HdxtjJ4uIzuIAKGby7j+lgBO3upSx4sMkBdqEWoizu02U+DBMOGE4zq/zYYkLWcR +vFxpT5XVR9bRtT9w/gjuQ6unT+UnmQJ3qujdIw5Iuo92bdWtAIFggWSbLkD93KCz +pObAEZ9mFl9Gownz9Z2xPm0SKPFqli1xcEwrmH+zskJqw21JhFZN424djiaJxS+d +4kDE0IvHqbgODeGanLC38QJQMOaaaCSjxhi00FUrSuidjz9CWfklCDYQrRQXfJB4 +w0unHVtXaG0vYily8NAY7rCMd08USvd6r8UTjYy87UxYJ3TI8Hi0XLB/ltHkTkeQ +Sm1Nt5Yv6Ht+ +-----END CERTIFICATE----- + diff --git a/server/server_csr.pem b/server/server_csr.pem new file mode 100644 index 0000000..f822a93 --- /dev/null +++ b/server/server_csr.pem @@ -0,0 +1,16 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICmzCCAYMCAQAwVjELMAkGA1UEBhMCU0UxDzANBgNVBAgMBlNjYW5pYTEUMBIG +A1UEBwwLSGVsc2luZ2JvcmcxDDAKBgNVBAoMA0xUSDESMBAGA1UEAwwJbG9jYWxo +b3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArzo3k9eJeToPmmVx +uf5exSQLuQ0/1N7Sc8mKWKRZSdXRmGQSDaO9sKYCfcGT/BhhwvSOyYYDOfRCFF/V +UM41pPG7WKzO6/TUbDrqvsarbt55NrWnFVzR/MaH0OWZsD6MlOfk4t5S4xrn+YSv +/6vLPq/28u4clLfQ9HuIRZ2Y/06iPuVmxV3cTwS7OLjVbRpzoqFv6bw7sbGxZzkM +FjI/U1zCaFG1pK4C0Kv/exSG7o7GaYAtpZpleZ3UhLTPee51/4mfBrC903k+Zi5e +yotbEfxjaHwdcoza8b5CvHxy0lFlq4w1quporF0Sz4y1uYUIE0tnXnQyptuINgGv +UhyJGQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAI7eNAViJ6UB0mywoHVVyzse +7krFYddtqDp2JwLFqE3a90k1SWRnc9snvdo0B5G6LiNgyTKxHq0NE05Hpbf8PDBF +f+rTyq07QbrkrjJ/FziZ3mUlikqayxbdtx3pO/EL1jMosENLAZxAfG1CfL85+n7c +VCffPAUASvuDu9pzKu6MwVpwi3TgTITkAZZZIac5sMuhqsEOzHjscg8YiGoaYxPl ++E9dDUJpqcKecLzgXqLG8I2CAy/Xs/Xw/tgQGexfqbTcp2Ez4x+Oo0PEq/B0rG/M +frUweajS5MxdJOjaUvz66D8J+n/lhmuAibEbKNOeIXjAyamqy8+qx/uXz4cI5k4= +-----END CERTIFICATE REQUEST----- diff --git a/server/server_key.pem b/server/server_key.pem new file mode 100644 index 0000000..41fe914 --- /dev/null +++ b/server/server_key.pem @@ -0,0 +1,30 @@ +-----BEGIN ENCRYPTED PRIVATE KEY----- +MIIFNTBfBgkqhkiG9w0BBQ0wUjAxBgkqhkiG9w0BBQwwJAQQqjipvW9aLGDHasMg +pL53fwICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEAQIEEHZMfqhbnq+BQkK9 +IGJ0EMcEggTQ+46R42UPGUWsGaTEKZx9F/LBb+ke2pdCMxHMZj2/NS2r5OOHEO4Q +bdfkmU5lrxjQ//M2hnduCTwQI/FRYZNs+WLQm9Sy7zgUqzjhDGyBIHyJnyusyHOM +72VKYSBhfOy2hqOKjGE2bIIMe9g/G/TNNK4rKaR6Ef3J5Qq/CovSL/RcqpbdFh5L +nyEl+58QYva2IDazilbF7K80RSRSW9MFvbdIA1iHLOXTatxrbS82DZNlr8QRWp4g +zshy8qMDNirNfaVCmB1Di3iVjPyoEpQ3TX0QZ/tzp+py2Rkku5muBFjZufpt+p/T +O49K172yKotf7t68WJWwO9AXY9r8+8D44vgGLSdxgKzQqy1qOk4zWaq8m8gZrPY2 +kNeMDdA/NesQB7fmsdKyJBT0VGA7K1c0MxoiPM3GMeM80xRZCebxO9aN51SNbzLx +CIVvB10YuLXyTGYWOuU6Gi7RWUm15aKmLEc14ByQvYFz88HcNOB3ZQyg1YfEeo9j +1LL7KADt4GkzehqgzyJYyMsDerXR1zllk63QpeQbbRuzWTRdf1cqwliznH8Qy0iL +4GZQrmMxKAC2KML3p2boovBHqEimm4iG8W1FhaKxMtb1s+OF2heFtfrEL/LNhhMA ++l1jUzH4yH4wScVOX7oFsxWtTCxIRBo0j1SNCvL21i1R7c6cwEKCkEAoQ40sOFbQ +zX7SBV1pntMooRTceOuGtMSOpKOq96UoTU2b4yf8CosZqp5L2eleeZsUIRhpV6ZR +pnmKY5k72Kow6Afc881rU9PezRS5jqPi3msJn11d9glQYROA2VFfPn7HK0Rh6cr6 +TEh6A1EEjR3sUOEVVAR1PLC9jH2b7o5BadzTGlXdfagF0CKk7jubO1JUuHOdh7Ni +HoLhAOTp+8LYvWyUJmGy3Myy7kGX0ISbzSato/7ky8OZiqI9Y+vU+TXV+Ox8/dvI +bUkvKGprHEdPmoahh+ulRyRoXgQlD2vUYOqZD7UKDgwOYI+PkbgehGQ+IsqklYWb +Sa3oa3KecPehYVjS7kuXA4VA6uMztgZSGqL2HnMzhm0Zj4/Xey1AqrmlbcqsO8K8 +5bGCuWSqmbsVCNnrASASJ2JlcAH4W28qWT4jkoJOzkVAUKtW/eo7za8KOQibwc/C +6YYi1HYS6UzfJGkRY3HNCsia0F8mf8B/FppbQRtAInDh9aAntMuetz9K6J2Ehp1L +r5k/tpMS44j0Bbz/+5DybKECndg7AadwhwVfssXZMyJyECf5HIuDHQlsUQegkO89 +mq6QtjQraHEZMG5mYN0c3/WaG5PPMc0rs84Bxe/XuxdB3isdBiaJ8tXXMfCfVZSi +KH+SIVND1p/S54QxVE+VZqPvW3YQc5BMjr5gk2VQv34YYJlw+OHK9ivKwODKk76/ +bT0tpZq/ixuSOu2SUncF3R++ic6PO26HfpNIBWFZeAogb+mXkpzS0L73+fFy+Q7Z +yM/ly4IPALvf6VPgT0MAVQH+CyZ57jjgCkUoIS6OB6NhQKhRZweyA16y7TS5u19O +tXeCe8qOwSe/ixEQ/RjEh4IlALt2/95gSrJNnXwRFL8J4Xbfe80LAQVt6agcsc7w +d13sNJ724Yab5oWP7TdoyTBZGAdtFb1ldkfTT7pSLLXhpSNSE0mCqFc= +-----END ENCRYPTED PRIVATE KEY----- diff --git a/server/server_v3.txt b/server/server_v3.txt new file mode 100644 index 0000000..aabbb20 --- /dev/null +++ b/server/server_v3.txt @@ -0,0 +1,6 @@ +authorityKeyIdentifier=keyid,issuer +basicConstraints=CA:FALSE +keyUsage = keyAgreement, keyEncipherment, digitalSignature +subjectAltName = @alt_names +[ alt_names ] +DNS.1 = localhost