| 1 | // Self-signed test certificates with an intermediate, generated ONCE with |
| 2 | // openssl and checked in (never generate key material at test time): |
| 3 | // |
| 4 | // openssl req -x509 -newkey rsa:2048 -nodes -keyout ca.key -out ca.pem \ |
| 5 | // -days 3650 -subj "/CN=Alchemy TargetHttpsProxy Test CA" |
| 6 | // openssl req -newkey rsa:2048 -nodes -keyout int.key -out int.csr \ |
| 7 | // -subj "/CN=Alchemy TargetHttpsProxy Test Intermediate" |
| 8 | // openssl x509 -req -in int.csr -CA ca.pem -CAkey ca.key -CAcreateserial \ |
| 9 | // -out int.pem -days 3650 |
| 10 | // openssl req -newkey rsa:2048 -nodes -keyout leaf.key -out leaf.csr \ |
| 11 | // -subj "/CN=thp.alchemy.test" |
| 12 | // openssl x509 -req -in leaf.csr -CA int.pem -CAkey int.key -CAcreateserial \ |
| 13 | // -out leaf.pem -days 3650 |
| 14 | // |
| 15 | // Certificate PEM is leaf + intermediate. Keys are throwaway fixtures. |
| 16 | |
| 17 | /** Leaf + intermediate for `thp.alchemy.test` (RSA 2048, expires 2036). */ |
| 18 | export const CERT_A_PEM = `-----BEGIN CERTIFICATE----- |
| 19 | MIIDIDCCAgigAwIBAgIUD2oKsfjRQWSWaAiVXJCmak8GeWMwDQYJKoZIhvcNAQEL |
| 20 | BQAwNTEzMDEGA1UEAwwqQWxjaGVteSBUYXJnZXRIdHRwc1Byb3h5IFRlc3QgSW50 |
| 21 | ZXJtZWRpYXRlMB4XDTI2MDgyNDE1NDUyN1oXDTM2MDgyMTE1NDUyN1owGzEZMBcG |
| 22 | A1UEAwwQdGhwLmFsY2hlbXkudGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC |
| 23 | AQoCggEBAKug9V3nPb2ThbCmsIs8cK4fOJeb4hZCjeaTIghwSdis8yO8l8yhdCRZ |
| 24 | w5r0NiQQLRKjLS34UooXYemRpr+3yWKxULnMOuuw6LYx5HJzZTCUHDNIXRsFkFyB |
| 25 | MKu3jPSHbFAUuRU1IGgUNCR0o8KIl0IRVJvVVFQfeUJ4qrGa8VkWeYfzWBcJc0fH |
| 26 | mM3yokknRSfqlb2HDGZCgsLQT2FdvLUT7hnX3AzujXeXaIBmhrgkRHcmgf2zJs6v |
| 27 | V0uji8uQR/+v3DaPDEjAa350XSONrhhrfAMFYyp78pm+cdTaylOURXe0nBHaGdG/ |
| 28 | eXo866lwznURc/v85JxHF7CEuAnZIv8CAwEAAaNCMEAwHQYDVR0OBBYEFE3OhjDU |
| 29 | bqNDTDWrE0i0banr5IaSMB8GA1UdIwQYMBaAFFaq6ufyqnnumJfCZeDlDPEWKmzC |
| 30 | MA0GCSqGSIb3DQEBCwUAA4IBAQAO6wsFqlEm+J10VAbru4tiYbQy1fYCJVtq3hkw |
| 31 | y9Fbx+LRv0HbxZIk9IgtAKzJi12dbM/ATy89SLSQ4sZ2nAX5U2Vg4wUUgga+sbj5 |
| 32 | jdcSKWmWrWN3edpO1ZB33v7kAOcteJ4SNGxBJTFj+/YFjV/ydRGNXCid4TS3biVr |
| 33 | AF0XzPkucPnkU4bdD7MiOjsP0rfh2dBTccJKiByRWsLzDroY3TNQwBgyj0omQsAR |
| 34 | +aYY2/vwZBoTaamvkGzLXAEAXr3qNHbPXobO+w07DzzNcpgI28YJkg5UL2c0cmUE |
| 35 | IE/GsgmWU6Z7hwFfSHsGtyB73bgTk+Ol6RNag/IZsYjmZ/bY |
| 36 | -----END CERTIFICATE----- |
| 37 | -----BEGIN CERTIFICATE----- |
| 38 | MIIDMDCCAhigAwIBAgIUc0qnBgiiiyiU8D28GRYBT1xN4IwwDQYJKoZIhvcNAQEL |
| 39 | BQAwKzEpMCcGA1UEAwwgQWxjaGVteSBUYXJnZXRIdHRwc1Byb3h5IFRlc3QgQ0Ew |
| 40 | HhcNMjYwODI0MTU0NTI3WhcNMzYwODIxMTU0NTI3WjA1MTMwMQYDVQQDDCpBbGNo |
| 41 | ZW15IFRhcmdldEh0dHBzUHJveHkgVGVzdCBJbnRlcm1lZGlhdGUwggEiMA0GCSqG |
| 42 | SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY1APiyVMReOxgwmyPmzTbsSj5utdosHWN |
| 43 | jeiiAaZVu2HVXrJokkC2bUPM69Liog51cnP7NWrGn9O/8rkP8qXCbk9OxkdScXb6 |
| 44 | Omdb/SP79X+xcS2NuUjkZ5Ot8zYi7Oo4xbZUcMxkM3izHrZ7GG8Lnd6+5/4xXFWC |
| 45 | 45Rm75DkuAiW+d/A86DVJGJ12I3jDZTJTCZV3NP0mc/Ic3w7o/SufBqLGh2a5JC4 |
| 46 | A7aJ33Px6CEDy4g+9nebfS34RSxeUBUFbmVB8YDVop+EMdC/wNd4H7e6nWNruIwc |
| 47 | KDnpQukz6OHSQWjKMABvgt0Nx041xeyXT+0UmMygMqJaJ5cXuR/7AgMBAAGjQjBA |
| 48 | MB0GA1UdDgQWBBRWqurn8qp57piXwmXg5QzxFipswjAfBgNVHSMEGDAWgBSVnIAR |
| 49 | 0G/CJHa5YrAJVRCDWZYOdDANBgkqhkiG9w0BAQsFAAOCAQEAG/lC5HlC7Su1MCbr |
| 50 | 5rn2cyCLsWb3dNkUQgjDrkgDUD3snkEUEnirPh84WOmDM5XJOSHiwCJRbvJ9ZPE5 |
| 51 | zXwzzrWq+9EQBz7M469ki9RRUiWkUmtKzKwQDodB57Bwp6S8DtLOYlDYBo0W9/9X |
| 52 | QtvpvC13FOxhCxC6u8mi3U7Iy6Q3DmZPVFEoNELPpkLqGjvMDJ1tcJCob2MnAHqP |
| 53 | BNMxWYPuwsuMX1M+iaykcHb1VPtZOVL+tfVe/NmTTu40+rgC0k9pNhFXbMw6PppC |
| 54 | 27UWsLTfX17j5X9W3jABxumsM+3hVky9eFKbRY6GIBc+lxOISidpBL9T187uv38r |
| 55 | AqyrwQ== |
| 56 | -----END CERTIFICATE-----`; |
| 57 | |
| 58 | /** Private key for {@link CERT_A_PEM}. */ |
| 59 | export const KEY_A_PEM = `-----BEGIN PRIVATE KEY----- |
| 60 | MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCroPVd5z29k4Ww |
| 61 | prCLPHCuHziXm+IWQo3mkyIIcEnYrPMjvJfMoXQkWcOa9DYkEC0Soy0t+FKKF2Hp |
| 62 | kaa/t8lisVC5zDrrsOi2MeRyc2UwlBwzSF0bBZBcgTCrt4z0h2xQFLkVNSBoFDQk |
| 63 | dKPCiJdCEVSb1VRUH3lCeKqxmvFZFnmH81gXCXNHx5jN8qJJJ0Un6pW9hwxmQoLC |
| 64 | 0E9hXby1E+4Z19wM7o13l2iAZoa4JER3JoH9sybOr1dLo4vLkEf/r9w2jwxIwGt+ |
| 65 | dF0jja4Ya3wDBWMqe/KZvnHU2spTlEV3tJwR2hnRv3l6POupcM51EXP7/OScRxew |
| 66 | hLgJ2SL/AgMBAAECggEALneAJwHV8e8waXDf6HqfKU1TpZxzPEKdp5kbRDyeibbd |
| 67 | h0XmtWTbDIJvFpNa2y2z/lFGiKUsN633+ORRyKNKN1m5eOxF4Yz+nGFqr9/1PA9F |
| 68 | iU7kwk2h1aG2my8xTv0hQpcxuv+su/EIYvxfX+paRW1qwlwiHjp9OpVv5XEFOfCM |
| 69 | nutK/GLUPRWC9/rvKbNh15wKMhyajpAwot1l6Ipf6YkO97l63JSz0Xdoh5Ca7Cs/ |
| 70 | Ytcx+rUCIDBuL0vu6IBMMztkFy7jqyHqDcBNh8m7J02q8TkquxjuTqu5mqEnedUX |
| 71 | anVGJZMOyztWPMGgXshg4F7xwJPm3FgxqyOuYrN0uQKBgQDx/onsRo6RbD7ieAoT |
| 72 | gbidus8dzrXUiGco0hUmfIhS8LxJdnH7fURIMgOyudjHROCKJT7CxDJy1ZBTvLVW |
| 73 | nPkPnYkTZ14t48uIGJa+/7NRrXsYKYo42FAAVkBrcBmsoEJ9deEHf2IJfkfMieXA |
| 74 | PuUX+hiZFgdN739+ujZ3rYSD2QKBgQC1j9y+e7KWFXrRR5cYoK+JCLwTFmNxFb8k |
| 75 | Xnum2YD0EOz2un2NT9IzdyXQPJJBuOe6YFqCKQiYBgpa5qvsYyt/ztINaZy0UpEw |
| 76 | eeTBZKMnX5Rm5TdxGZy+kTqZjV1s7H71WmG26ZwtsmhpTp0khzmD5mlTSnfwBdlZ |
| 77 | ytY53NWOlwKBgCtUz6+OJsMlZdE5e1xo0vzzUVjeBbMLxaUKkRz2GZb4Yk6pNdm5 |
| 78 | YXun8P+UxZtQ2wABkU5gwUPMt+42kSX0L6i7Jatiy/tdmblB5eRHdv1+GdeGwKhT |
| 79 | G2gkCZ7zULWXcLB0Zhnolk5q3UJjws78tBrp/nOS/TXYV7UCdPRTDrJpAoGBAKai |
| 80 | m9HDi9uNaURsdTOoPpMBjkPid3ARqnWBtfEjjOP0KNglvxeUG/MaNn1RKlbhkuSO |
| 81 | jGMLsBR+7sARF9eECSdrNYQT2zvwz8pzBU2txMRdR8HMPD80Z5TLi8HkacuPntIm |
| 82 | mqoa7DlQld2YxkcBSPtS3HYSUdPcOmjb7hP7J5GPAoGBAJIhz52BS+KSBgqBFpdA |
| 83 | rWGz9AjZs8pbPwy7FyKu4+13UY+0ZXkmsksfAWj/QebTYQJqLNw9kFPqhk2S3IZj |
| 84 | o+uA8yjDzYSGjY7qIsykm5+Rd0akAnlx30hh10Z5xhf4Qu2uS8LBDsWFqHBLICDN |
| 85 | KnlxJUqDUX0Rdn/WPeMQlNmK |
| 86 | -----END PRIVATE KEY-----`; |
| 87 | |
| 88 | /** Leaf + intermediate for `thp2.alchemy.test` (RSA 2048, expires 2036). */ |
| 89 | export const CERT_B_PEM = `-----BEGIN CERTIFICATE----- |
| 90 | MIIDITCCAgmgAwIBAgIUD2oKsfjRQWSWaAiVXJCmak8GeWQwDQYJKoZIhvcNAQEL |
| 91 | BQAwNTEzMDEGA1UEAwwqQWxjaGVteSBUYXJnZXRIdHRwc1Byb3h5IFRlc3QgSW50 |
| 92 | ZXJtZWRpYXRlMB4XDTI2MDgyNDE1NDUyOFoXDTM2MDgyMTE1NDUyOFowHDEaMBgG |
| 93 | A1UEAwwRdGhwMi5hbGNoZW15LnRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw |
| 94 | ggEKAoIBAQC/ME7jWOThfvQD9SHOln6SVx29xdzIrsR5DGJJwLc+GtJF4Ay6DHOM |
| 95 | wk8TLw0e7zS74nYJMxR3+FkMqU8/YmqOVnxDY6Iv4+dxRwP8QM6Na4Vgzu40KJe6 |
| 96 | O2aXvcvljIHR5SurIsX6diCxwU5yGKUM4zbbkC8KJJysAYNYlP1FYn9YcIjx7laW |
| 97 | fGVsJ8AYRHZJsmnI5Hd2wmbZO7myIIoV7gLY1dBfy1svRii9hqcs2Zwl0e7VmuOa |
| 98 | ROx/4tLfEUAtfLY2s2A7YZrRq9yT4WUtuONh2vx2FNBRHqbrR0p44V+eWdZXC18E |
| 99 | +rGFylq5EwFDU9WO9a7KwkdfjhFzV2K7AgMBAAGjQjBAMB0GA1UdDgQWBBSigw3G |
| 100 | wio1uWCxQ60Bh9SKNFYbsTAfBgNVHSMEGDAWgBRWqurn8qp57piXwmXg5QzxFips |
| 101 | wjANBgkqhkiG9w0BAQsFAAOCAQEAcIuAaVCfFahCW+4rP/OUYXA7jUznQ7ccEX+a |
| 102 | Y1oFMSoKUUyRy5kTW7J51wNdCQ5XyqYrKCT6l1w8c5/MGupVJPfmxAeJATB+k2v2 |
| 103 | GQM1aG0g6JLRS5zb1eO1Y+nwr6ILCee14DYhu1jvKF35hSx5NwrqESOpLN4EaHjq |
| 104 | 3SSGJ8mjVjita7E6og+yYGNIu0Bd70ShdgS5OAFa3dbRq8jOf8/O0fBAJlBrCILq |
| 105 | 1bpQyvKaGXquQh4vSIKLuwVz+SJFrU+gj1qyBlGDndUyhraFMKPOJ2n+uO9tfZu1 |
| 106 | 2kkqjC9WmtDxv19mnYyUxS/qSzF33UgGLUxh52AV0KWeFVSQtw== |
| 107 | -----END CERTIFICATE----- |
| 108 | -----BEGIN CERTIFICATE----- |
| 109 | MIIDMDCCAhigAwIBAgIUc0qnBgiiiyiU8D28GRYBT1xN4IwwDQYJKoZIhvcNAQEL |
| 110 | BQAwKzEpMCcGA1UEAwwgQWxjaGVteSBUYXJnZXRIdHRwc1Byb3h5IFRlc3QgQ0Ew |
| 111 | HhcNMjYwODI0MTU0NTI3WhcNMzYwODIxMTU0NTI3WjA1MTMwMQYDVQQDDCpBbGNo |
| 112 | ZW15IFRhcmdldEh0dHBzUHJveHkgVGVzdCBJbnRlcm1lZGlhdGUwggEiMA0GCSqG |
| 113 | SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCY1APiyVMReOxgwmyPmzTbsSj5utdosHWN |
| 114 | jeiiAaZVu2HVXrJokkC2bUPM69Liog51cnP7NWrGn9O/8rkP8qXCbk9OxkdScXb6 |
| 115 | Omdb/SP79X+xcS2NuUjkZ5Ot8zYi7Oo4xbZUcMxkM3izHrZ7GG8Lnd6+5/4xXFWC |
| 116 | 45Rm75DkuAiW+d/A86DVJGJ12I3jDZTJTCZV3NP0mc/Ic3w7o/SufBqLGh2a5JC4 |
| 117 | A7aJ33Px6CEDy4g+9nebfS34RSxeUBUFbmVB8YDVop+EMdC/wNd4H7e6nWNruIwc |
| 118 | KDnpQukz6OHSQWjKMABvgt0Nx041xeyXT+0UmMygMqJaJ5cXuR/7AgMBAAGjQjBA |
| 119 | MB0GA1UdDgQWBBRWqurn8qp57piXwmXg5QzxFipswjAfBgNVHSMEGDAWgBSVnIAR |
| 120 | 0G/CJHa5YrAJVRCDWZYOdDANBgkqhkiG9w0BAQsFAAOCAQEAG/lC5HlC7Su1MCbr |
| 121 | 5rn2cyCLsWb3dNkUQgjDrkgDUD3snkEUEnirPh84WOmDM5XJOSHiwCJRbvJ9ZPE5 |
| 122 | zXwzzrWq+9EQBz7M469ki9RRUiWkUmtKzKwQDodB57Bwp6S8DtLOYlDYBo0W9/9X |
| 123 | QtvpvC13FOxhCxC6u8mi3U7Iy6Q3DmZPVFEoNELPpkLqGjvMDJ1tcJCob2MnAHqP |
| 124 | BNMxWYPuwsuMX1M+iaykcHb1VPtZOVL+tfVe/NmTTu40+rgC0k9pNhFXbMw6PppC |
| 125 | 27UWsLTfX17j5X9W3jABxumsM+3hVky9eFKbRY6GIBc+lxOISidpBL9T187uv38r |
| 126 | AqyrwQ== |
| 127 | -----END CERTIFICATE-----`; |
| 128 | |
| 129 | /** Private key for {@link CERT_B_PEM}. */ |
| 130 | export const KEY_B_PEM = `-----BEGIN PRIVATE KEY----- |
| 131 | MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC/ME7jWOThfvQD |
| 132 | 9SHOln6SVx29xdzIrsR5DGJJwLc+GtJF4Ay6DHOMwk8TLw0e7zS74nYJMxR3+FkM |
| 133 | qU8/YmqOVnxDY6Iv4+dxRwP8QM6Na4Vgzu40KJe6O2aXvcvljIHR5SurIsX6diCx |
| 134 | wU5yGKUM4zbbkC8KJJysAYNYlP1FYn9YcIjx7laWfGVsJ8AYRHZJsmnI5Hd2wmbZ |
| 135 | O7myIIoV7gLY1dBfy1svRii9hqcs2Zwl0e7VmuOaROx/4tLfEUAtfLY2s2A7YZrR |
| 136 | q9yT4WUtuONh2vx2FNBRHqbrR0p44V+eWdZXC18E+rGFylq5EwFDU9WO9a7Kwkdf |
| 137 | jhFzV2K7AgMBAAECggEADNv68l+wRVp8nyeFtpd4u+8QGQuN5hGbNWkX004bBRpY |
| 138 | ukpvkLP1saoAF5I6l7IPIfQBbGz7G3agxrE8m07LS/eVNBMnfYEeuAfGxNi3C9wH |
| 139 | hJNmgiuYyPXl2J7zb+UbdjqrzT7xgf8gA9S0qgfuUgeWUP5Jq6z6vLb9Vp/uyRPR |
| 140 | F8JDsNLFs66jl+784sQGLF5jqHEQNmC9OxOm1v0GFBYCd5a5OsLCD37nJqH8kmpg |
| 141 | 4ao8TlleNzb0rtn81oOGKp0eRd0U+dpl7MMmH21vSGWyVgN3kR2zSUb5YXaUHB7y |
| 142 | zui5Qt5HYyXPcSyGB2UDugIOAjIscz3Ukr7uRrLHwQKBgQDtKaHg+vC+K8CJkb+U |
| 143 | 1TzKxdjGt9IrnyLWmkh35bjg2wYJVYV3RPdUdg+6arhFrgaToIRPZ7Elel8hm0DD |
| 144 | Qed3jWimqHwtw+mRf7H1UKqykrPweuQAFijtWXFz4XXcF8yi+/XywTf5y9XRiANV |
| 145 | zFNcQPy6t7fhp4bETwSVcDzRzQKBgQDOX9xk4bUzr7Vldea6QoMzn3Y1fJY1G92c |
| 146 | kZl53OgQTxyPQbwXC0O3m+LhOaaz8Lb3GGdLTQ+TWL6J+Z4hPW69HkLvUwPs1kkf |
| 147 | q5VhTiheoxfWz2W0GBDMucCPAXUdYV41F7s5y0hYmI1DAx9XZdXDuutQfRi2Dqg9 |
| 148 | zeT0BOaepwKBgQDZkwQrvov2K3VrwAaeqDIpZPDG/gUWd9wiPVCWjm3Z+5XCIm9b |
| 149 | SC4PknBDeXyskEcAUJaRsnNWCroTvrbfayrLBzQnERM7eSxii1/byrGPOf9Sc6uQ |
| 150 | WMQbW581zHWwATV/oN+2YYTU6iezHrDQma8wR36UXc+YeXStzEBMSLfDUQKBgCwd |
| 151 | L6Zc3Pf8ckEK79QWzabmSkVqqU0W9Ms4EF+NSgnab1dsDMG8RbBk4R2Vzj2eke3F |
| 152 | yKa/BTpQ+QHTWuruD9LbOiGgVDF3KNBdRCQ1qcl5AWqIkMvrbQPmHPQ0so0iOBoP |
| 153 | RZU4D/HoQiH18+ghu40IUq603uhjv7DeZzeGKKn3AoGAZj3u36LdwggQSLV6MNFX |
| 154 | +otR+KMfIJbIEJi5e0yTdVDpfKAJDtvr34g/zq4czUC5+Q0v1/zwULUjzGrmtte4 |
| 155 | PqyM0g0Qs563QT0QCnUIFCIjdcQuGXXaLXKH5VNCjOJpdBXld0g7v2SW63XE4qGl |
| 156 | SvMu6Za3m94QQz+e2gKYI4I= |
| 157 | -----END PRIVATE KEY-----`; |