|
| 1 | +/* Icinga 2 | (c) 2025 Icinga GmbH | GPLv2+ */ |
| 2 | + |
| 3 | +// openssl req -x509 -subj /CN=IcingaCA -days 1000000 -newkey rsa:2048 -keyout IcingaCA.key -out IcingaCA.crt -nodes |
| 4 | +static const auto l_IcingaCa = R"( |
| 5 | +-----BEGIN CERTIFICATE----- |
| 6 | +MIIDCTCCAfGgAwIBAgIUdgi1ZtjKYbwQLTgZK3uEesJ7bLMwDQYJKoZIhvcNAQEL |
| 7 | +BQAwEzERMA8GA1UEAwwISWNpbmdhQ0EwIBcNMjUwMTI5MTExMjI3WhgPNDc2MjEy |
| 8 | +MjcxMTEyMjdaMBMxETAPBgNVBAMMCEljaW5nYUNBMIIBIjANBgkqhkiG9w0BAQEF |
| 9 | +AAOCAQ8AMIIBCgKCAQEAx3gRHqvT78saJhmuB0IIMy6LsKASh7T/JV/MDLqPYRBM |
| 10 | +JyyuEJUWfxc7M7vQsd7VIKbalcdP7+5q1ChCyef68mwmKHMgxjVytmnlaFp06m6b |
| 11 | +bHKW4CPPbcAVJA5J6IOMjbYoJJb3B+D92MCj+cA/1TBOMRYNPumjlKn2S7zdeas7 |
| 12 | +YdQcoO9IT66jp+2+olYfEm/Feef9q0tFlaDnBSD8Fi06O2S7yOv1smUvbUjO27Bp |
| 13 | +t5ISVYGAYjPTMfNw9T2YiKcmwtcXi1uwFVdlcyzCyI1uOsJKrqU8wL6vbcTbTJmk |
| 14 | +mJuk6EzvGIK5gYKys1swfPkBqTPrQ9bAwsrFMo2wNQIDAQABo1MwUTAdBgNVHQ4E |
| 15 | +FgQU6FNaouiwNt1OpoxxxBHx5zx21VEwHwYDVR0jBBgwFoAU6FNaouiwNt1Opoxx |
| 16 | +xBHx5zx21VEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAE50o |
| 17 | +aLhRrQo0OONxHgZin1azVhCwvEhDdvpREgPMx8RIIkACbpTBc1qD+5Td3/OOi7TF |
| 18 | +OanoHyOkPHyjBIlp55iHPEWBTBLBtO9Q5wyv/cg6tNt3xm8P1x0vxS+TrIKhtPzF |
| 19 | +IkiJULki4fJARuFj8f/E2kwu+EA3swwqSfAeRUzY8yChdyWyVn+s17ll5OOjjZCA |
| 20 | +q1CodrFEk0ZuH5qNTmcLk5GUdUnZEISmRiOcsG66uSzl7WpWGECtK4amRFv+XTij |
| 21 | +bRANBuRWGyaw1UpD2RnJKvbTjURbdI8/4ZcgBNk0rbaJQZhRcN59y1wbXp6OYVdE |
| 22 | +mB3zuwxqEBlWqr6J6A== |
| 23 | +-----END CERTIFICATE----- |
| 24 | +)"; |
| 25 | + |
| 26 | +// openssl req -x509 -subj /CN=example.com -CA IcingaCA.crt -CAkey IcingaCA.key -days 1000000 -newkey rsa:2048 -keyout example.key -out example.crt -nodes |
| 27 | +static const auto l_ExampleCrt = R"( |
| 28 | +-----BEGIN CERTIFICATE----- |
| 29 | +MIIDDDCCAfSgAwIBAgIUCBXnZvr6kQAzDUEI8y32Dfv0RZIwDQYJKoZIhvcNAQEL |
| 30 | +BQAwEzERMA8GA1UEAwwISWNpbmdhQ0EwIBcNMjUwMTI5MTExNTQwWhgPNDc2MjEy |
| 31 | +MjcxMTE1NDBaMBYxFDASBgNVBAMMC2V4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0B |
| 32 | +AQEFAAOCAQ8AMIIBCgKCAQEAqCcKAjgS5bKbyn3IC9Yj2UB7dVRlNCZTRt+w6US1 |
| 33 | +OtCPyhfK+V2IWHG52FZMX3xWEbzwkli9T7BSsTWqsG7nh5luuXkJSiBGaBFDTrHh |
| 34 | +TgSEKYIrAv6RXExMmSH9wbrwlSObckVK0ao3cGAu5wOP6pQFJXhBcxfR8Bb0Tmys |
| 35 | +IK8TeCWs5dw9+uL6naqhA7PXScmglxn0wt3Jq5HQvcLP9Q47boNvNRsdsH96UKYL |
| 36 | +ParA/+VYN24G//K8SvdEauKLBWexs3deUIpvQ9XBZgi4TxhtLmGrSOD+BSRmZtbS |
| 37 | +mrJ8teYa8Wn8UqSHn0XkmcJYc4Id5iR8LWjW0K+7+5W1AQIDAQABo1MwUTAdBgNV |
| 38 | +HQ4EFgQUCMkOtURchQvy5TD26SERzcPDIBEwHwYDVR0jBBgwFoAU6FNaouiwNt1O |
| 39 | +poxxxBHx5zx21VEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEA |
| 40 | +kS9cavcMaGIVmAu3zg9yJ2RTwn5sdVjnIdFtm2GdtFYXqCuy8cltGYBZa3ksq60k |
| 41 | +2E0OuAzM2gnD2xCET+8Kv5SqhM5E/JSVsxp31siBR6Mn23scM16AGK+rThSYYjKU |
| 42 | +NiFf0nWhTGZFXQQ+QpLeVbzxgZpy/6I2ae1uDZraSXkd+sChDE9jPTpYliOm2X6A |
| 43 | +2r4VK8rtYCxvOy+mUsto37NiAVITXwnPRlKmOatv1Hh9kAhwK+qA0nyykIuef3NZ |
| 44 | +uoTqHtDPAOSLBdtCNFh7HW2EuQSU3PLZ2xket8kqURTxxaLSkbsRSG7TqrLfBjMn |
| 45 | +YFlQO4soVkFeFifh/aEQEw== |
| 46 | +-----END CERTIFICATE----- |
| 47 | +)"; |
| 48 | + |
| 49 | +// faketime -f -101d openssl req -x509 -subj /CN=example.com -CA IcingaCA.crt -CAkey IcingaCA.key -days 100 -newkey rsa:2048 -keyout expired.key -out expired.crt -nodes |
| 50 | +static const auto l_ExpiredCrt = R"( |
| 51 | +-----BEGIN CERTIFICATE----- |
| 52 | +MIIDCjCCAfKgAwIBAgIUTRwVekfrn1W/65HaURylmpCD5q8wDQYJKoZIhvcNAQEL |
| 53 | +BQAwEzERMA8GA1UEAwwISWNpbmdhQ0EwHhcNMjQxMDIwMTEzOTU1WhcNMjUwMTI4 |
| 54 | +MTEzOTU1WjAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEB |
| 55 | +BQADggEPADCCAQoCggEBALJYc86mEP0k2f1YCxYjm0UMR05PBh8FHqzhj6KiBPCE |
| 56 | +rNzKUHJ3mwh4x7lNZtsQuYb2oLTbwvdPp8pBRSO1cDEPLMPl6KdmyfW/6nE4aOnd |
| 57 | +4odX+nQXpwU5+fgsdHi9H796/CETzo7zYt1ZOegHPlXNVOCAWKpuwpM4wpD2Jc/U |
| 58 | +18nOcPLc+gUyHHkFWnZG3R0RAzBM+Y6tyuTSua1Md+lZLYZbdR+TUlI+iQUVpS5L |
| 59 | +VVlfMuvF1goqEGeFd995LDe1iAsaYeb0cwylANaE8Ntw1Y58F1YUeGp2nUQwitwn |
| 60 | +cGkEtWW4aYpHmlLz0NWwi4VooBrfOE2e2vuHoTWdn4MCAwEAAaNTMFEwHQYDVR0O |
| 61 | +BBYEFPy1bdiqQ77+R9wffW8byBI7m+IWMB8GA1UdIwQYMBaAFOhTWqLosDbdTqaM |
| 62 | +ccQR8ec8dtVRMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAAYQ |
| 63 | +VWlT9HHgE6NxFwRdo6Pdyw7izzTDjQFgfWIFQN7PIXMriP3uCzoZ1lUeJShH4V8C |
| 64 | +hliQIVbdH00oVK14H0WI+8pFIFtriVuYcwop93BOKZb7dGv6yPX0tjmWM03G7ykJ |
| 65 | +o9HfIycRCUfvyY8++OO4oXiCIXbv0EefCd9GWP9IS1n0EK39L0QBbLp1pYbCJ4U3 |
| 66 | +LyDa/sHEflHdTUu+do1kCC9f8gnccw6oHwg/GNC3r5/FYBFKddDMsr49xNZCUlS7 |
| 67 | +CYoTlRVLcKCOxGOU7j1f2Vh0lbrCs9S8qMmyygutl5BSp8QH4XqXGAA3XcU91cc2 |
| 68 | +Rs6wtqbtpehBKbNCZew= |
| 69 | +-----END CERTIFICATE----- |
| 70 | +)"; |
| 71 | + |
| 72 | +// faketime -f -1001d openssl req -x509 -subj /CN=IcingaCA -days 1000 -newkey rsa:2048 -keyout expiredCA.key -out expiredCA.crt -nodes |
| 73 | +static const auto l_ExpiredCa = R"( |
| 74 | +-----BEGIN CERTIFICATE----- |
| 75 | +MIIDBzCCAe+gAwIBAgIUIFiIyafR/fOJgdcPtE/2cMVzO5wwDQYJKoZIhvcNAQEL |
| 76 | +BQAwEzERMA8GA1UEAwwISWNpbmdhQ0EwHhcNMjIwNTA0MTE0NzQyWhcNMjUwMTI4 |
| 77 | +MTE0NzQyWjATMREwDwYDVQQDDAhJY2luZ2FDQTCCASIwDQYJKoZIhvcNAQEBBQAD |
| 78 | +ggEPADCCAQoCggEBAMt4h56Ykpv5mImpnaTfnZBgDCwZj6+OTFIOhqE/Hcwb+rw3 |
| 79 | +EXiIzOuAj/3SOKJDIJHo7BAoZJ0IFl4+/hldim3EVp4i8xjrDL3vww8fyUXJliuO |
| 80 | +Li/meuWmO2uTWaMNdXWiIvUYf1gIfBD1hIU2vznTca6NrRmTPLGGYRtV86HhM+tZ |
| 81 | +IyWF3O7VmNZBpuj/kHAUQT+RBXxP3J3rf73ICTJvVGBpQshlnxE1uFiEXPfhk2LJ |
| 82 | +AXtXmVMXDNaVsNT8kv7hUsKwtpNrmIpAM//kJZl42qEmG/dJ4JYIgU+wy54b/gEM |
| 83 | +tWcit9/4Dz7dO4dJPyd1RXRkRLJ1yoXATVuR/kECAwEAAaNTMFEwHQYDVR0OBBYE |
| 84 | +FMD7oeGGYaB8CDTzHNaqfJ4pJDW+MB8GA1UdIwQYMBaAFMD7oeGGYaB8CDTzHNaq |
| 85 | +fJ4pJDW+MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAER61Zzv |
| 86 | +Cta8soW4pac9tX3MpTqHvGer/H8gxpRc3hAMBYBdHH9iToRv2e1B8XAr1aD9nDTZ |
| 87 | +kpSxrQ6QcIvcNaopZ+4BpgQA0OcnpiJvy1NrzJy4/OXsCwhss4TCi3iGrRFeRscj |
| 88 | +1bNRqF6uQUSpGO3Pyr9NRI7uKCxLx0GebjI3m7I1XtdbhO+pCGJxIX7BBgBCyg2S |
| 89 | +Rg3NO6D62M2CIXMzmNkUOuEPP8X04gHJG8lenTj/4XA2FRtl3BDkmpgNT+EvXgrE |
| 90 | +iKN5RJmanof6Cl3i+5z2G9EE78IKKc1lwIMGEl3TBwBc9vbLGXnyxhQ1KYmdYdMk |
| 91 | +qk/B5CUJdl6x4SU= |
| 92 | +-----END CERTIFICATE----- |
| 93 | +)"; |
| 94 | + |
| 95 | +// faketime -f -1001d openssl req -x509 -subj /CN=example.com -CA expiredCA.crt -CAkey expiredCA.key -days 1000000 -newkey rsa:2048 -keyout expiredCAleaf.key -out expiredCAleaf.crt -nodes |
| 96 | +static const auto l_ExpiredCaLeaf = R"( |
| 97 | +-----BEGIN CERTIFICATE----- |
| 98 | +MIIDDDCCAfSgAwIBAgIUdHDoIg27fMxCE8+8qVKG6bkbgAAwDQYJKoZIhvcNAQEL |
| 99 | +BQAwEzERMA8GA1UEAwwISWNpbmdhQ0EwIBcNMjIwNTA0MTE1MTEyWhgPNDc2MDAz |
| 100 | +MzExMTUxMTJaMBYxFDASBgNVBAMMC2V4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0B |
| 101 | +AQEFAAOCAQ8AMIIBCgKCAQEAv0Fy1zM4r6cs/L4ijHNijQBS0bZPdw+oJQ6wuHS2 |
| 102 | +wWvSu3rEd42SkwPHb6l5xnazpNiJ6e/QsgjNAe/O2fe2FdShvAQpTEEZDWG5YUHQ |
| 103 | +CUULHiLIL3WE7+QbE/L+qv0eeTHsGRvdqlyJfSF6dNpCpfAI+/cwvaQ9+ISGnlyo |
| 104 | +xQsvW2oirPJL2Op9UGhA4GuUbjA63W8wZTVnb7WGXpBpUx8igwrEO8cmAgNqDf8a |
| 105 | +QuOBcwncbHRiLn+OOFbQ09+PfyqIWsY+HEdSarKsfTcKCH3bdbX1mB3FuPBlioVk |
| 106 | +jzo28QvRXrsRVmLdO1Z8KwtDO1J3K+lIlD8ciSIyfkAmeQIDAQABo1MwUTAdBgNV |
| 107 | +HQ4EFgQUGM6M1c/X4oIQW6iulEu4v8pgANgwHwYDVR0jBBgwFoAUwPuh4YZhoHwI |
| 108 | +NPMc1qp8nikkNb4wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEA |
| 109 | +wuCTz+iBNm/0K4No1nNDg+CZ6Efh2aGYdd0ra568Q0qaUZvJBkDwHaV62x8c+7oy |
| 110 | +g09CSVb5cxjukNak/1z0sArtxOSSPvQr8ZxAbIlBsJLHlUt5qxIDpFar/AUvejPW |
| 111 | +SRwXfXoqZvxhvotIVDpC7LyzLv1uGEVC2ut/mdKSRdfC8bjNgvDPueix2IiLuqwD |
| 112 | +axtsq0DNuLCml/rFaDpv9GhjEd2BHtd9WkkBE0aZkr7riCVVU+G4333V1lhepmM4 |
| 113 | +OEDL0q8bF+us7OOBcnKTf8/Z2FBSChX+iBmUx49bYbu+zsB7rd8bRctQ2QsBWrjE |
| 114 | +0T27ijYgvlDxVhZkvgGjKg== |
| 115 | +-----END CERTIFICATE----- |
| 116 | +)"; |
| 117 | + |
| 118 | +// openssl req -x509 -subj /CN=IcingaCA -days 1000000 -newkey rsa:2048 -keyout IcingaCA2.key -out IcingaCA2.crt -nodes |
| 119 | +static const auto l_IcingaCa2 = R"( |
| 120 | +-----BEGIN CERTIFICATE----- |
| 121 | +MIIDCTCCAfGgAwIBAgIUOpzxwnBk0qyMmc4kEQM27KXhkNEwDQYJKoZIhvcNAQEL |
| 122 | +BQAwEzERMA8GA1UEAwwISWNpbmdhQ0EwIBcNMjUwMTI5MTExMjI5WhgPNDc2MjEy |
| 123 | +MjcxMTEyMjlaMBMxETAPBgNVBAMMCEljaW5nYUNBMIIBIjANBgkqhkiG9w0BAQEF |
| 124 | +AAOCAQ8AMIIBCgKCAQEAwOn0l2/lU3LG8U6vZLhpQp/3FJL3oKtEeH+sRvnPF2cU |
| 125 | +PaUWhpS5oHTJyLlVyTDc8kzr4kteyI5vsB9y9hC9yCKoo/gfo/+qrBrmuB8lDoeQ |
| 126 | +LEtpPAD3K09HiTJbHqTxgKj+krRlKj29yyrieR9MYB/gpm73J1qVByLdsImfORQ0 |
| 127 | +ycllxmr/mcDcpgVzanKaTTo0HXVb9BxuvwWo0eMz8IAqEcoqxcYdBOlRtWE8CINE |
| 128 | +rAHCFWnHSBiqQvysBMbdMI0B/n7GWm/KVLGu2jIDMsz8PbiQJ9sbBUAL0FTcXQAf |
| 129 | +InxcEAmwSEhnA7qFyJO7XjQG35IJvHWIklDXmneWmwIDAQABo1MwUTAdBgNVHQ4E |
| 130 | +FgQU5ZPq54i662pKEJuVpatrx2spEfYwHwYDVR0jBBgwFoAU5ZPq54i662pKEJuV |
| 131 | +patrx2spEfYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAS4cj |
| 132 | +EucqjyxP+Sisj61Q2fVy+pLvQkqC/fOXTo3KuJX/asWsmxdIrVRyRKfnXxNwdNO5 |
| 133 | +v6dcEHO0fDU9GmVAYa1JKiKDByjWElh175KqETl4ZSVXod/AX1k1lyYlKaEs2S2T |
| 134 | +uzJ5O57IO9AMzDR8IQDTztApkp7si2A3f+ihHLdsZfwnf+4ectTixgxVCy6+3x0t |
| 135 | +po7veItIw2L8YRbiVGzpzUe20A/qVxjp7ZswQr6ZI7Zqvs10Na+jK7+xlLf875lk |
| 136 | +CTbr/uo8qBLDUf3dXPTWJww4uMiJUvQOasbYg8wXkw9OS2uktjHOjwgLWMoxt5u3 |
| 137 | +JYdh7REN+0OfpIqdSA== |
| 138 | +-----END CERTIFICATE----- |
| 139 | +)"; |
0 commit comments