1/**
2 * Deterministic test certificates for MtlsCertificate tests.
3 *
4 * Generated once with openssl (RSA-2048, 10-year validity) and checked in so
5 * that every test run uploads identical content:
6 *
7 * ```sh
8 * openssl req -x509 -newkey rsa:2048 -nodes -keyout ca1.key -out ca1.pem \
9 * -days 3650 -subj "/CN=Alchemy Test CA 1/O=Alchemy/C=US" \
10 * -addext "basicConstraints=critical,CA:TRUE" \
11 * -addext "keyUsage=critical,keyCertSign,cRLSign"
12 * # ca2 likewise with CN=Alchemy Test CA 2
13 * openssl req -newkey rsa:2048 -nodes -keyout leaf.key -out leaf.csr \
14 * -subj "/CN=client.alchemy-test-2.us/O=Alchemy/C=US"
15 * openssl x509 -req -in leaf.csr -CA ca1.pem -CAkey ca1.key \
16 * -CAcreateserial -out leaf.pem -days 3650
17 * ```
18 */
19
20/** Self-signed root CA "Alchemy Test CA 1" (expires 2036). */
21export const CA_CERT_1 = `-----BEGIN CERTIFICATE-----
22MIIDHDCCAgSgAwIBAgIJANeudKe3Q8UOMA0GCSqGSIb3DQEBCwUAMDsxGjAYBgNV
23BAMMEUFsY2hlbXkgVGVzdCBDQSAxMRAwDgYDVQQKDAdBbGNoZW15MQswCQYDVQQG
24EwJVUzAeFw0yNjA2MTExODMwMDJaFw0zNjA2MDgxODMwMDJaMDsxGjAYBgNVBAMM
25EUFsY2hlbXkgVGVzdCBDQSAxMRAwDgYDVQQKDAdBbGNoZW15MQswCQYDVQQGEwJV
26UzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMyEcDZrVJWjpw0GO5OC
27i4xEDY8TZObn4TUbbZh+lPXhFsXnjnMltIXOpG4OSIPaytqhh6XqafN5ydDe5/e5
28fJnh6gmc8NMk/g59F1+7/96ZGzZ+4RdpovLSj8Rv2VDeWT4tkusW0GfnPKypnQv6
29fDoqQdlmjjkBC42xeLtaS4tbCIaAomv12Y4kzLnzAMF8n4iHD23CMWWtzIoNlU9P
30sirj9bUSy1sXz2q+qrL1rraov6A7SUYoSQiS2Lb+3fptoAwp0GHjImJKAH6PYiZI
317EQolACIKii928Uretbr7h4sCx9QgQSBVm42BWAxMHZ1/S/TATFlvJ/GSEWuJpCl
32T1sCAwEAAaMjMCEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
33KoZIhvcNAQELBQADggEBALvz/GtT+xBSfpiW3BL51XrV8vfkO8RRMauuH68vwioS
34rOINhCJJGGYlHejN4EbuldZ+DmFFDSo151ZdEzHFCToqBOoNcUqebqJCSDAIaNo/
35uLewuqKV5JRHW64Qt+WxKGvXSG83iinlV43/D+eOPyOYjB5lQ7VV7X/0rZNrOoWt
361edeQ3ghSfYo3FCsxCWdzeUPizkL2f3pjimHwIjy3UsSen05rmVYKnDO7Q9+B+XG
37il4SD5HQqOF/NK8HDjZgylhjkbmzl/lPcckB3fqkpHUrpeRPWdl6w1zG10XGSWnE
38gZWqjuGhEUR3fp2nwvsLj9WG3YMbOCa+CICiKqP7Mw4=
39-----END CERTIFICATE-----
40`;
41
42/** Self-signed root CA "Alchemy Test CA 2" (expires 2036). */
43export const CA_CERT_2 = `-----BEGIN CERTIFICATE-----
44MIIDHDCCAgSgAwIBAgIJAOlLPRPuBJHDMA0GCSqGSIb3DQEBCwUAMDsxGjAYBgNV
45BAMMEUFsY2hlbXkgVGVzdCBDQSAyMRAwDgYDVQQKDAdBbGNoZW15MQswCQYDVQQG
46EwJVUzAeFw0yNjA2MTExODMwMDJaFw0zNjA2MDgxODMwMDJaMDsxGjAYBgNVBAMM
47EUFsY2hlbXkgVGVzdCBDQSAyMRAwDgYDVQQKDAdBbGNoZW15MQswCQYDVQQGEwJV
48UzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALeirgFhF7dcHlVRKksu
494VspnwA0hPKuKI4l3H1tR27bXy7mQd9cIpABMJRt5dzvCQxlcZeOV6NFj2udHkP7
50+Zx3KL1PaSWYpLcYGz8PGAxU1/8iSZ7n+zOmLfyAcrDMhFCgijVYuPA/jGcK3o6I
51D4vKMmsup7f0myKgmbYMXfJVrAHJYqTWRacbQB2I2SelHrUeo0uwAJqK2nrcyHvL
52Q1Q6M+M8nwlTZt6bSEwz2ctwzNZNhYzKQ7lADkSQFZNmzmLQmaQNQ58jKkqLr/A5
536MRpVTY1nzbSwkC5vATDe8SbW98MgQvRvuChoEAZdWAh28ut3kfQCOuUD/tPcKLS
54PnECAwEAAaMjMCEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ
55KoZIhvcNAQELBQADggEBACIwVqzEQRn5lh5LLKRAzJ35LEsOi9e0dU6R/qlKBlfe
56H+l5ij+4u5qUJxRPkarm3d6weukLujuGEN4OT+/8TaXlIZ3fO1+FDIAnTqqTUI9f
57OSeNi0K5kjmuk2x/380chkPUIrVBf1P+6fgh9yOY0Fj3fFJ0P3NTKE3ECWoGX1IC
58CwfW7sEXVQ7XaBO+vhcahkJBYs5v0CoawP699ApyW4TV2R5UKQBDuwLjKgOGgueL
59CFXMoad/gJyA2Sr/WHFHfpbGrwpPS1DocgPCbpg5AQtMQzRBMselk50ISDgPC9tp
60/KktdHwtaJHFOC9lMsuAnArY1W4P3SuAUYJ+/c2veWs=
61-----END CERTIFICATE-----
62`;
63
64/** Leaf certificate "client.alchemy-test-2.us" signed by Alchemy Test CA 1. */
65export const LEAF_CERT = `-----BEGIN CERTIFICATE-----
66MIIC+TCCAeECCQDF2miXO+qWHTANBgkqhkiG9w0BAQsFADA7MRowGAYDVQQDDBFB
67bGNoZW15IFRlc3QgQ0EgMTEQMA4GA1UECgwHQWxjaGVteTELMAkGA1UEBhMCVVMw
68HhcNMjYwNjExMTgzMDAyWhcNMzYwNjA4MTgzMDAyWjBCMSEwHwYDVQQDDBhjbGll
69bnQuYWxjaGVteS10ZXN0LTIudXMxEDAOBgNVBAoMB0FsY2hlbXkxCzAJBgNVBAYT
70AlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7XC2//Dpxow1LpyG
71Wfcp6JYh88v8PxRxkuc+UaKgTaW1wxbkHEYQds1ffg5Sv8qAGQjwCLmbcNk5q7RL
72YIh8ODOgoEJQRmwgF/Hpv/4KKXq/4Et2WS4Fn2k6I5BRFngRiB9EjCdoJjtUeFwk
73Hz1zgRZEvAqR+mnMI3d5o0S8VCr6VDxHSywwgssnd9GcGBrkK137AfBUX89dKIKb
74zKnkWaoHKIbn6q8QYY4+Hp7HkjsDPeizWXnDA1/Q9QvhoZwfqdibAuyk8Flt7a58
757pS5rH5WBb0FQiGG6rk7Jmp2tRUMV3DnG63oKRnDy0rYS3F81ai8xXJ819LFzBXA
76xxQtRQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAwT17DPSPe9jROHyX2OvUcta23
77E6BUqdFbyx80tEc8mzreYRRPMImheRj8DEnQR78oLph/uzbj3CdL77VgOkGDnAbQ
78Y0Pvu0z7L5W0U3MQ++qu2Jm1wY0AhH3Xw8YlTwcqtBq6xRbkcN/HAhNa19qcOj6R
79u/sNqC2zNeAuOllsXNMoYkZNb0EuH9qLiPlgXBE5GC0YEFyvy/dXOBZAUbfIwOxz
80DFI9MtMTIbnpodwycT5PkcxiAJ/BPl2JZhvuQbhJ6C6LYs5oj0Zg6up+CSDfghot
81xIuSRw8NgbAdELEoLbLBjMLGYAnHFeHnLrheG77SFnAJlARDBl4Ipv/f4U4M
82-----END CERTIFICATE-----
83`;
84
85/** Private key for LEAF_CERT. Test-only material — never used anywhere real. */
86export const LEAF_KEY = `-----BEGIN PRIVATE KEY-----
87MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDtcLb/8OnGjDUu
88nIZZ9ynoliHzy/w/FHGS5z5RoqBNpbXDFuQcRhB2zV9+DlK/yoAZCPAIuZtw2Tmr
89tEtgiHw4M6CgQlBGbCAX8em//goper/gS3ZZLgWfaTojkFEWeBGIH0SMJ2gmO1R4
90XCQfPXOBFkS8CpH6acwjd3mjRLxUKvpUPEdLLDCCyyd30ZwYGuQrXfsB8FRfz10o
91gpvMqeRZqgcohufqrxBhjj4enseSOwM96LNZecMDX9D1C+GhnB+p2JsC7KTwWW3t
92rnzulLmsflYFvQVCIYbquTsmana1FQxXcOcbregpGcPLSthLcXzVqLzFcnzX0sXM
93FcDHFC1FAgMBAAECggEBALevlyLxMSlUll/030sCFv3EB4gfqojyO9q14lQtR25K
94YA8IynfFDD+cKd/PHN0av3aen3Ngg4wNwLvAwv9vFwozhnP0WT3hsAJWN8s7sIje
95WUoflvLu05K7SSryHokPYiC4b8MtSTkqdPKX9anlVFHs9Ee0tbHP3wkhCIzyQ++n
96wmcyKmO/QsL7JB8PIXCD1i5ME/mUp6Dwecqwpa/4d5iECe3aKpRNdkD3nytKuGMd
97p56sd/Y0zMS2+0MzLCzG4CsAKBXIbH6oKpFEYpM6JukuIOSp4RUBSvBppc4EqVCq
98pT66g4XDnd4emQjUxE0iIa+IAM9uqTilZiDfAH0n1QECgYEA/GL+oP6qbdGIMo7K
99lkLgZcOqHPC5+CZOARDVX3QUPtJp+Cgu5mtuVfTh/0S8GT+0LJDEAJMg20CCK1f9
100ES131gsp+53Bt8f7jubstd+hLMzrHELVkQnboAYnay56k4mTpKfgKtkDXVu9wTl1
101JDQG+DtjRX6sY3x3BEu83EwFStUCgYEA8Nbw7rdsN7QzY57TmRzsGDyXHYTB7/Bu
102YXgbMAXJAqcfkbApBl9SIBXLh8TFEstbQmL1XOcfoZFxxgoM0WIMwMYqhGG2HUB/
103wYf78khOz5FoEuhv0SH7x0FfeDu/NySy//Ii/g/GAyYVYnLnWaN96c12e58o3Dkr
1045QRPbu6VsLECgYEA+AruxxkiNGXeXhnZ3o2BbmI7WM/5ZXl35jI+Ed7KWud+wCX1
1052f0xZgcS6UcLOiFSmQ35o7r1aqXeiGykSXKPOOyl6SUlEtLXV516fFB5XcdTNeY1
106cKLol0AVE5CNZVyrnwJiHJpFZUZZmoI2r0r2opXzPYR+NhRIAA/TYArSlLUCgYBA
107N+AIlyoo9EjboGclpZuins1glpyr4P1dygvd0z0VEwEM9N8LjvE0EvuxWRt/dnAA
108FKj+O7aoe0LOHrHqRu3FnVGK+Q75X9BxB1R79yHkoQ4SNJ5UMm6TY/AT/EJxbry4
109GJWSDxyqjEYZeTANK9YQOLQGJJtdlXUJ3QtdNgr+EQKBgEsrWfJNi6+Xqacgfslf
1104UHYBv4S4bXXD4M46i8PWCs4M7q+jGFofWAW/sCnF78FRUBVty7dGVsKU+uivsFS
111MqjdbG9sf3vTHR1p0tErqxkutgZ4AlEdT+MF9iffoQZE9UG5DMfER93JxmlTsGhP
112Vp+E1nq4nZbma1nYpVPdEflA
113-----END PRIVATE KEY-----
114`;