1 /*
2  * Copyright (c) 2024-2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *    http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef CRYPTO_X509_CERT_CHAIN_DATA_PEM_ADDED_H
17 #define CRYPTO_X509_CERT_CHAIN_DATA_PEM_ADDED_H
18 
19 #include <stdint.h>
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 static const char g_testCertChainPem[] =
26     "-----BEGIN CERTIFICATE-----\r\n"
27     "MIID6jCCAtKgAwIBAgIIIM2q/TmRoLcwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE\r\n"
28     "BhMCRU4xEDAOBgNVBAgTB0VuZ2xhbmQxDzANBgNVBAcTBkxvbmRvbjEMMAoGA1UE\r\n"
29     "ChMDdHMyMQwwCgYDVQQLEwN0czIxDDAKBgNVBAMTA3RzMjAeFw0yMzEyMDUwNzM5\r\n"
30     "MDBaFw0yNDEwMzEyMzU5MDBaMGExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdKaWFu\r\n"
31     "Z3N1MRAwDgYDVQQHEwdOYW5qaW5nMQwwCgYDVQQKEwN0czMxDDAKBgNVBAsTA3Rz\r\n"
32     "MzESMBAGA1UEAxMJMTI3LjAuMC4xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\n"
33     "CgKCAQEAtt+2QxUevbolYLp51QGcUpageI4fwGLIqv4fj4aoVnHFOOBqVOVpfCLR\r\n"
34     "p26LFV/F8ebwPyo8YEBKSwXzMD1573rMSbaH9BalscH5lZYAbetXoio6YRvzlcmc\r\n"
35     "rVvLBNMeVnxY86xHpo0MTNyP7W024rZsxWO98xFQVdoiaBC+7+midlisx2Y+7u0j\r\n"
36     "zT9GjeUP6JLdLFUZJKUPSTK3jVzw9v1eZQZKYoNfU6vFMd6ndtwW6qEnwpzmmX/U\r\n"
37     "T+p5ThAMH593zszlz330nTSXBjIsGkyvOz9gSB0Z0LAuJj06XUNhGL5xKJYKbdI3\r\n"
38     "8MFQFJKvRHfgTAvVsvAvpBUM2DuBKwIDAQABo4GsMIGpMAkGA1UdEwQCMAAwHQYD\r\n"
39     "VR0OBBYEFDfsHTMZwoA6eaDFlBUyDpka+sYtMAsGA1UdDwQEAwID+DAnBgNVHSUE\r\n"
40     "IDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMEMBQGA1UdEQQNMAuCCTEy\r\n"
41     "Ny4wLjAuMTARBglghkgBhvhCAQEEBAMCBkAwHgYJYIZIAYb4QgENBBEWD3hjYSBj\r\n"
42     "ZXJ0aWZpY2F0ZTANBgkqhkiG9w0BAQsFAAOCAQEAp5vTvXrt8ZpgRJVtzv9ss0lJ\r\n"
43     "izp1fJf+ft5cDXrs7TSD5oHrSW2vk/ZieIMhexU4LFwhs4OE7jK6pgI48Dseqxx7\r\n"
44     "B/KktxhVMJUmVXd9Ayjp6f+BtZlIk0cArPuoXToXjsV8caTGBXHRdzxpAk/w9syc\r\n"
45     "GYrbH9TrdNMuTizOb+k268oKXUageZNxHmd7YvOXkcNgrd29jzwXKDYYiUa1DISz\r\n"
46     "DnYaJOgPt0B/5izhoWNK7GhJDy9KEuLURcTSWFysbbnljwO9INPT9MmlS83PdAgN\r\n"
47     "iS8VXF4pce1W9U5jH7d7k0JDVSXybebe1iPFphsZpYM/NE+jap+mPy1nTCbf9g==\r\n"
48     "-----END CERTIFICATE-----\r\n"
49     "-----BEGIN CERTIFICATE-----\r\n"
50     "MIIC0zCCAoWgAwIBAgIIXpLoPpQVWnkwBQYDK2VwMFoxCzAJBgNVBAYTAkVOMRAw\r\n"
51     "DgYDVQQIEwdFbmdsYW5kMQ8wDQYDVQQHEwZMb25kb24xDDAKBgNVBAoTA3RzMTEM\r\n"
52     "MAoGA1UECxMDdHMxMQwwCgYDVQQDEwN0czEwHhcNMjMxMjA1MDczNzAwWhcNMjQw\r\n"
53     "OTAxMjM1OTAwWjBaMQswCQYDVQQGEwJFTjEQMA4GA1UECBMHRW5nbGFuZDEPMA0G\r\n"
54     "A1UEBxMGTG9uZG9uMQwwCgYDVQQKEwN0czIxDDAKBgNVBAsTA3RzMjEMMAoGA1UE\r\n"
55     "AxMDdHMyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtt+2QxUevbol\r\n"
56     "YLp51QGcUpageI4fwGLIqv4fj4aoVnHFOOBqVOVpfCLRp26LFV/F8ebwPyo8YEBK\r\n"
57     "SwXzMD1573rMSbaH9BalscH5lZYAbetXoio6YRvzlcmcrVvLBNMeVnxY86xHpo0M\r\n"
58     "TNyP7W024rZsxWO98xFQVdoiaBC+7+midlisx2Y+7u0jzT9GjeUP6JLdLFUZJKUP\r\n"
59     "STK3jVzw9v1eZQZKYoNfU6vFMd6ndtwW6qEnwpzmmX/UT+p5ThAMH593zszlz330\r\n"
60     "nTSXBjIsGkyvOz9gSB0Z0LAuJj06XUNhGL5xKJYKbdI38MFQFJKvRHfgTAvVsvAv\r\n"
61     "pBUM2DuBKwIDAQABo28wbTAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBQ37B0zGcKA\r\n"
62     "OnmgxZQVMg6ZGvrGLTALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMB4G\r\n"
63     "CWCGSAGG+EIBDQQRFg94Y2EgY2VydGlmaWNhdGUwBQYDK2VwA0EAuasLBe55YgvF\r\n"
64     "b4wmHeohylc9r8cFGS1LNQ5UcSn3sGqMYf6ehnef16NLuCW6upHCs8Sui4iAMvsP\r\n"
65     "uKPWR9dKBA==\r\n"
66     "-----END CERTIFICATE-----\r\n"
67     "-----BEGIN CERTIFICATE-----\r\n"
68     "MIIB3zCCAZGgAwIBAgIIWQvOEDl+ya4wBQYDK2VwMFoxCzAJBgNVBAYTAkVOMRAw\r\n"
69     "DgYDVQQIEwdFbmdsYW5kMQ8wDQYDVQQHEwZMb25kb24xDDAKBgNVBAoTA3RzMTEM\r\n"
70     "MAoGA1UECxMDdHMxMQwwCgYDVQQDEwN0czEwHhcNMjMxMjA1MDAwMDAwWhcNMjQx\r\n"
71     "MjA0MjM1OTU5WjBaMQswCQYDVQQGEwJFTjEQMA4GA1UECBMHRW5nbGFuZDEPMA0G\r\n"
72     "A1UEBxMGTG9uZG9uMQwwCgYDVQQKEwN0czExDDAKBgNVBAsTA3RzMTEMMAoGA1UE\r\n"
73     "AxMDdHMxMCowBQYDK2VwAyEAuxadj1ww0LqPN24zr28jcSOlSWAe0QdLyRF+ZgG6\r\n"
74     "klKjdTBzMBIGA1UdEwEB/wQIMAYBAf8CARQwHQYDVR0OBBYEFNSgpoQvfxR8A1Y4\r\n"
75     "St8NjOHkRpm4MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAAcwHgYJYIZI\r\n"
76     "AYb4QgENBBEWD3hjYSBjZXJ0aWZpY2F0ZTAFBgMrZXADQQAblBgoa72X/K13WOvc\r\n"
77     "KW0fqBgFKvLy85hWD6Ufi61k4ProQiZzMK+0+y9jReKelPx/zRdCCgSbQroAR2mV\r\n"
78     "xjoE\r\n"
79     "-----END CERTIFICATE-----\r\n";
80 
81 static const char g_testCertChainPemNoRoot[] =
82     "-----BEGIN CERTIFICATE-----\r\n"
83     "MIID6jCCAtKgAwIBAgIIIM2q/TmRoLcwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE\r\n"
84     "BhMCRU4xEDAOBgNVBAgTB0VuZ2xhbmQxDzANBgNVBAcTBkxvbmRvbjEMMAoGA1UE\r\n"
85     "ChMDdHMyMQwwCgYDVQQLEwN0czIxDDAKBgNVBAMTA3RzMjAeFw0yMzEyMDUwNzM5\r\n"
86     "MDBaFw0yNDEwMzEyMzU5MDBaMGExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdKaWFu\r\n"
87     "Z3N1MRAwDgYDVQQHEwdOYW5qaW5nMQwwCgYDVQQKEwN0czMxDDAKBgNVBAsTA3Rz\r\n"
88     "MzESMBAGA1UEAxMJMTI3LjAuMC4xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\n"
89     "CgKCAQEAtt+2QxUevbolYLp51QGcUpageI4fwGLIqv4fj4aoVnHFOOBqVOVpfCLR\r\n"
90     "p26LFV/F8ebwPyo8YEBKSwXzMD1573rMSbaH9BalscH5lZYAbetXoio6YRvzlcmc\r\n"
91     "rVvLBNMeVnxY86xHpo0MTNyP7W024rZsxWO98xFQVdoiaBC+7+midlisx2Y+7u0j\r\n"
92     "zT9GjeUP6JLdLFUZJKUPSTK3jVzw9v1eZQZKYoNfU6vFMd6ndtwW6qEnwpzmmX/U\r\n"
93     "T+p5ThAMH593zszlz330nTSXBjIsGkyvOz9gSB0Z0LAuJj06XUNhGL5xKJYKbdI3\r\n"
94     "8MFQFJKvRHfgTAvVsvAvpBUM2DuBKwIDAQABo4GsMIGpMAkGA1UdEwQCMAAwHQYD\r\n"
95     "VR0OBBYEFDfsHTMZwoA6eaDFlBUyDpka+sYtMAsGA1UdDwQEAwID+DAnBgNVHSUE\r\n"
96     "IDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMEMBQGA1UdEQQNMAuCCTEy\r\n"
97     "Ny4wLjAuMTARBglghkgBhvhCAQEEBAMCBkAwHgYJYIZIAYb4QgENBBEWD3hjYSBj\r\n"
98     "ZXJ0aWZpY2F0ZTANBgkqhkiG9w0BAQsFAAOCAQEAp5vTvXrt8ZpgRJVtzv9ss0lJ\r\n"
99     "izp1fJf+ft5cDXrs7TSD5oHrSW2vk/ZieIMhexU4LFwhs4OE7jK6pgI48Dseqxx7\r\n"
100     "B/KktxhVMJUmVXd9Ayjp6f+BtZlIk0cArPuoXToXjsV8caTGBXHRdzxpAk/w9syc\r\n"
101     "GYrbH9TrdNMuTizOb+k268oKXUageZNxHmd7YvOXkcNgrd29jzwXKDYYiUa1DISz\r\n"
102     "DnYaJOgPt0B/5izhoWNK7GhJDy9KEuLURcTSWFysbbnljwO9INPT9MmlS83PdAgN\r\n"
103     "iS8VXF4pce1W9U5jH7d7k0JDVSXybebe1iPFphsZpYM/NE+jap+mPy1nTCbf9g==\r\n"
104     "-----END CERTIFICATE-----\r\n"
105     "-----BEGIN CERTIFICATE-----\r\n"
106     "MIIC0zCCAoWgAwIBAgIIXpLoPpQVWnkwBQYDK2VwMFoxCzAJBgNVBAYTAkVOMRAw\r\n"
107     "DgYDVQQIEwdFbmdsYW5kMQ8wDQYDVQQHEwZMb25kb24xDDAKBgNVBAoTA3RzMTEM\r\n"
108     "MAoGA1UECxMDdHMxMQwwCgYDVQQDEwN0czEwHhcNMjMxMjA1MDczNzAwWhcNMjQw\r\n"
109     "OTAxMjM1OTAwWjBaMQswCQYDVQQGEwJFTjEQMA4GA1UECBMHRW5nbGFuZDEPMA0G\r\n"
110     "A1UEBxMGTG9uZG9uMQwwCgYDVQQKEwN0czIxDDAKBgNVBAsTA3RzMjEMMAoGA1UE\r\n"
111     "AxMDdHMyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtt+2QxUevbol\r\n"
112     "YLp51QGcUpageI4fwGLIqv4fj4aoVnHFOOBqVOVpfCLRp26LFV/F8ebwPyo8YEBK\r\n"
113     "SwXzMD1573rMSbaH9BalscH5lZYAbetXoio6YRvzlcmcrVvLBNMeVnxY86xHpo0M\r\n"
114     "TNyP7W024rZsxWO98xFQVdoiaBC+7+midlisx2Y+7u0jzT9GjeUP6JLdLFUZJKUP\r\n"
115     "STK3jVzw9v1eZQZKYoNfU6vFMd6ndtwW6qEnwpzmmX/UT+p5ThAMH593zszlz330\r\n"
116     "nTSXBjIsGkyvOz9gSB0Z0LAuJj06XUNhGL5xKJYKbdI38MFQFJKvRHfgTAvVsvAv\r\n"
117     "pBUM2DuBKwIDAQABo28wbTAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBQ37B0zGcKA\r\n"
118     "OnmgxZQVMg6ZGvrGLTALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMB4G\r\n"
119     "CWCGSAGG+EIBDQQRFg94Y2EgY2VydGlmaWNhdGUwBQYDK2VwA0EAuasLBe55YgvF\r\n"
120     "b4wmHeohylc9r8cFGS1LNQ5UcSn3sGqMYf6ehnef16NLuCW6upHCs8Sui4iAMvsP\r\n"
121     "uKPWR9dKBA==\r\n"
122     "-----END CERTIFICATE-----\r\n";
123 
124 static const char g_testCertChainPemNoRootHasPubKey[] =
125     "-----BEGIN CERTIFICATE-----\r\n"
126     "MIIXIDCCFsegAwIBAgICA+gwCgYIKoZIzj0EAwIwLDELMAkGA1UEBhMCQ04xDTAL\r\n"
127     "BgNVBAoMBHRlc3QxDjAMBgNVBAMMBWxvY2FsMB4XDTIzMTIxNTEwNTU0MVoXDTMz\r\n"
128     "MTIxMjEwNTU0MVowLjELMAkGA1UEBhMCQ04xDTALBgNVBAoMBHRlc3QxEDAOBgNV\r\n"
129     "BAMMB2xvY2FsXzIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATSXE5SAbIpUddu\r\n"
130     "nixHnyFTJpHpqarzYR81bz4JTBxodekxo1bzuNb1ekElYJkaPDb0a1AyQqulkb+A\r\n"
131     "YuIttWHOo4IV1TCCFdEwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNT\r\n"
132     "TCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFNFGonTKSe69Hi3B6Ddv\r\n"
133     "o2cI3He5MB8GA1UdIwQYMBaAFNC03hjx8p1gnLmwyfJCFyVz8RZSMIIVVAYDVR0f\r\n"
134     "BIIVSzCCFUcwM6AxoC+GLWh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0\r\n"
135     "X2NybF9jcF8xLmNybDAzoDGgL4YtaHR0cDovL3Rlc3QxLnRlc3QxQ1JMZHAuY29t\r\n"
136     "L3Rlc3RfY3JsX2NwXzIuY3JsMDOgMaAvhi1odHRwOi8vdGVzdDEudGVzdDFDUkxk\r\n"
137     "cC5jb20vdGVzdF9jcmxfY3BfMy5jcmwwM6AxoC+GLWh0dHA6Ly90ZXN0MS50ZXN0\r\n"
138     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF80LmNybDAzoDGgL4YtaHR0cDovL3Rlc3Qx\r\n"
139     "LnRlc3QxQ1JMZHAuY29tL3Rlc3RfY3JsX2NwXzUuY3JsMDOgMaAvhi1odHRwOi8v\r\n"
140     "dGVzdDEudGVzdDFDUkxkcC5jb20vdGVzdF9jcmxfY3BfNi5jcmwwM6AxoC+GLWh0\r\n"
141     "dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF83LmNybDAzoDGg\r\n"
142     "L4YtaHR0cDovL3Rlc3QxLnRlc3QxQ1JMZHAuY29tL3Rlc3RfY3JsX2NwXzguY3Js\r\n"
143     "MDOgMaAvhi1odHRwOi8vdGVzdDEudGVzdDFDUkxkcC5jb20vdGVzdF9jcmxfY3Bf\r\n"
144     "OS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
145     "bF9jcF8xMC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
146     "ZXN0X2NybF9jcF8xMS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
147     "LmNvbS90ZXN0X2NybF9jcF8xMi5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0\r\n"
148     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8xMy5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0\r\n"
149     "MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8xNC5jcmwwNKAyoDCGLmh0dHA6\r\n"
150     "Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8xNS5jcmwwNKAyoDCG\r\n"
151     "Lmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8xNi5jcmww\r\n"
152     "NKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8x\r\n"
153     "Ny5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
154     "bF9jcF8xOC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
155     "ZXN0X2NybF9jcF8xOS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
156     "LmNvbS90ZXN0X2NybF9jcF8yMC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0\r\n"
157     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8yMS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0\r\n"
158     "MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8yMi5jcmwwNKAyoDCGLmh0dHA6\r\n"
159     "Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8yMy5jcmwwNKAyoDCG\r\n"
160     "Lmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8yNC5jcmww\r\n"
161     "NKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8y\r\n"
162     "NS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
163     "bF9jcF8yNi5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
164     "ZXN0X2NybF9jcF8yNy5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
165     "LmNvbS90ZXN0X2NybF9jcF8yOC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0\r\n"
166     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8yOS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0\r\n"
167     "MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8zMC5jcmwwNKAyoDCGLmh0dHA6\r\n"
168     "Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8zMS5jcmwwNKAyoDCG\r\n"
169     "Lmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8zMi5jcmww\r\n"
170     "NKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8z\r\n"
171     "My5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
172     "bF9jcF8zNC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
173     "ZXN0X2NybF9jcF8zNS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
174     "LmNvbS90ZXN0X2NybF9jcF8zNi5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0\r\n"
175     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8zNy5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0\r\n"
176     "MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8zOC5jcmwwNKAyoDCGLmh0dHA6\r\n"
177     "Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF8zOS5jcmwwNKAyoDCG\r\n"
178     "Lmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF80MC5jcmww\r\n"
179     "NKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF80\r\n"
180     "MS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
181     "bF9jcF80Mi5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
182     "ZXN0X2NybF9jcF80My5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
183     "LmNvbS90ZXN0X2NybF9jcF80NC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0\r\n"
184     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF80NS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0\r\n"
185     "MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF80Ni5jcmwwNKAyoDCGLmh0dHA6\r\n"
186     "Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF80Ny5jcmwwNKAyoDCG\r\n"
187     "Lmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF80OC5jcmww\r\n"
188     "NKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF80\r\n"
189     "OS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
190     "bF9jcF81MC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
191     "ZXN0X2NybF9jcF81MS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
192     "LmNvbS90ZXN0X2NybF9jcF81Mi5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0\r\n"
193     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF81My5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0\r\n"
194     "MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF81NC5jcmwwNKAyoDCGLmh0dHA6\r\n"
195     "Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF81NS5jcmwwNKAyoDCG\r\n"
196     "Lmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF81Ni5jcmww\r\n"
197     "NKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF81\r\n"
198     "Ny5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
199     "bF9jcF81OC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
200     "ZXN0X2NybF9jcF81OS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
201     "LmNvbS90ZXN0X2NybF9jcF82MC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0\r\n"
202     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF82MS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0\r\n"
203     "MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF82Mi5jcmwwNKAyoDCGLmh0dHA6\r\n"
204     "Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF82My5jcmwwNKAyoDCG\r\n"
205     "Lmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF82NC5jcmww\r\n"
206     "NKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF82\r\n"
207     "NS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
208     "bF9jcF82Ni5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
209     "ZXN0X2NybF9jcF82Ny5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
210     "LmNvbS90ZXN0X2NybF9jcF82OC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0\r\n"
211     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF82OS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0\r\n"
212     "MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF83MC5jcmwwNKAyoDCGLmh0dHA6\r\n"
213     "Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF83MS5jcmwwNKAyoDCG\r\n"
214     "Lmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF83Mi5jcmww\r\n"
215     "NKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF83\r\n"
216     "My5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
217     "bF9jcF83NC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
218     "ZXN0X2NybF9jcF83NS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
219     "LmNvbS90ZXN0X2NybF9jcF83Ni5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0\r\n"
220     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF83Ny5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0\r\n"
221     "MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF83OC5jcmwwNKAyoDCGLmh0dHA6\r\n"
222     "Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF83OS5jcmwwNKAyoDCG\r\n"
223     "Lmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF84MC5jcmww\r\n"
224     "NKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF84\r\n"
225     "MS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
226     "bF9jcF84Mi5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
227     "ZXN0X2NybF9jcF84My5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
228     "LmNvbS90ZXN0X2NybF9jcF84NC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0\r\n"
229     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF84NS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0\r\n"
230     "MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF84Ni5jcmwwNKAyoDCGLmh0dHA6\r\n"
231     "Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF84Ny5jcmwwNKAyoDCG\r\n"
232     "Lmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF84OC5jcmww\r\n"
233     "NKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF84\r\n"
234     "OS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
235     "bF9jcF85MC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
236     "ZXN0X2NybF9jcF85MS5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
237     "LmNvbS90ZXN0X2NybF9jcF85Mi5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0\r\n"
238     "MUNSTGRwLmNvbS90ZXN0X2NybF9jcF85My5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0\r\n"
239     "MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF85NC5jcmwwNKAyoDCGLmh0dHA6\r\n"
240     "Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF85NS5jcmwwNKAyoDCG\r\n"
241     "Lmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF85Ni5jcmww\r\n"
242     "NKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2NybF9jcF85\r\n"
243     "Ny5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90ZXN0X2Ny\r\n"
244     "bF9jcF85OC5jcmwwNKAyoDCGLmh0dHA6Ly90ZXN0MS50ZXN0MUNSTGRwLmNvbS90\r\n"
245     "ZXN0X2NybF9jcF85OS5jcmwwNaAzoDGGL2h0dHA6Ly90ZXN0MS50ZXN0MUNSTGRw\r\n"
246     "LmNvbS90ZXN0X2NybF9jcF8xMDAuY3JsMDWgM6Axhi9odHRwOi8vdGVzdDEudGVz\r\n"
247     "dDFDUkxkcC5jb20vdGVzdF9jcmxfY3BfMTAxLmNybDAKBggqhkjOPQQDAgNHADBE\r\n"
248     "AiAq7nTOulRp1ZoQ5rGFiWZI+48Q1cM56pXZmQurH9/ingIgXjQLYned0o7sF0F9\r\n"
249     "euia28ZnjLu4Al0pDWtOj1FG8Jc=\r\n"
250     "-----END CERTIFICATE-----\r\n"
251     "-----BEGIN CERTIFICATE-----\r\n"
252     "MIIBmzCCAUGgAwIBAgICA+gwCgYIKoZIzj0EAwIwLDELMAkGA1UEBhMCQ04xDTAL\r\n"
253     "BgNVBAoMBHRlc3QxDjAMBgNVBAMMBXN1YmNhMB4XDTIzMTIxNTEwNTU0MVoXDTMz\r\n"
254     "MTIxMjEwNTU0MVowLDELMAkGA1UEBhMCQ04xDTALBgNVBAoMBHRlc3QxDjAMBgNV\r\n"
255     "BAMMBWxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECAsaq+xNWBY5vPQQ\r\n"
256     "vZSoeXHI9o45Cm59sbv/jW3ott+jsq6U5cE023SPwcJFZuUNOGU/ygHdGW/bk4wd\r\n"
257     "tvhKAaNTMFEwHQYDVR0OBBYEFNC03hjx8p1gnLmwyfJCFyVz8RZSMB8GA1UdIwQY\r\n"
258     "MBaAFC/+KCOzHrKB2XIpGmLuXrF98t0eMA8GA1UdEwEB/wQFMAMBAf8wCgYIKoZI\r\n"
259     "zj0EAwIDSAAwRQIgKidHnFis6DSRW48qmzkoYM7IfTTis6FBIGlTuZ7YtfQCIQCs\r\n"
260     "KfmrBVbaWyV23ZLB7YgqDIKurv0OeqD5LaDvm2JVGw==\r\n"
261     "-----END CERTIFICATE-----\r\n"
262     "-----BEGIN CERTIFICATE-----\r\n"
263     "MIIBnTCCAUKgAwIBAgICA+gwCgYIKoZIzj0EAwIwLTELMAkGA1UEBhMCQ04xDTAL\r\n"
264     "BgNVBAoMBHRlc3QxDzANBgNVBAMMBnJvb3RjYTAeFw0yMzEyMTUxMDU1NDFaFw0z\r\n"
265     "MzEyMTIxMDU1NDFaMCwxCzAJBgNVBAYTAkNOMQ0wCwYDVQQKDAR0ZXN0MQ4wDAYD\r\n"
266     "VQQDDAVzdWJjYTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMDnZgp0b9vfbJTh\r\n"
267     "rnrPs9mlJJVRERPqkhNRayiMUQuP+O2HrH+gW7g0Sr8/hksn+Anlb/bGZo1Fom4X\r\n"
268     "vVKvgwCjUzBRMB0GA1UdDgQWBBQv/igjsx6ygdlyKRpi7l6xffLdHjAfBgNVHSME\r\n"
269     "GDAWgBQxKvCxGrfqKfmDiOE/KKSBOLwhjTAPBgNVHRMBAf8EBTADAQH/MAoGCCqG\r\n"
270     "SM49BAMCA0kAMEYCIQDdYQcRnhmyd3vxZb3quVALHBDfZWW4Aln8vmjmX2qtTgIh\r\n"
271     "AO4RBmyeMjK9Jjfqd/IRYbW0u1za7yw8j4wBGss39g0t\r\n"
272     "-----END CERTIFICATE-----\r\n";
273 
274 static const char g_testCertChainPemNoRootLast[] =
275     "-----BEGIN CERTIFICATE-----\r\n"
276     "MIIBnTCCAUKgAwIBAgICA+gwCgYIKoZIzj0EAwIwLTELMAkGA1UEBhMCQ04xDTAL\r\n"
277     "BgNVBAoMBHRlc3QxDzANBgNVBAMMBnJvb3RjYTAeFw0yMzEyMTUxMDU1NDFaFw0z\r\n"
278     "MzEyMTIxMDU1NDFaMCwxCzAJBgNVBAYTAkNOMQ0wCwYDVQQKDAR0ZXN0MQ4wDAYD\r\n"
279     "VQQDDAVzdWJjYTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMDnZgp0b9vfbJTh\r\n"
280     "rnrPs9mlJJVRERPqkhNRayiMUQuP+O2HrH+gW7g0Sr8/hksn+Anlb/bGZo1Fom4X\r\n"
281     "vVKvgwCjUzBRMB0GA1UdDgQWBBQv/igjsx6ygdlyKRpi7l6xffLdHjAfBgNVHSME\r\n"
282     "GDAWgBQxKvCxGrfqKfmDiOE/KKSBOLwhjTAPBgNVHRMBAf8EBTADAQH/MAoGCCqG\r\n"
283     "SM49BAMCA0kAMEYCIQDdYQcRnhmyd3vxZb3quVALHBDfZWW4Aln8vmjmX2qtTgIh\r\n"
284     "AO4RBmyeMjK9Jjfqd/IRYbW0u1za7yw8j4wBGss39g0t\r\n"
285     "-----END CERTIFICATE-----\r\n";
286 
287 static const char g_testCertChainPemDisorder[] =
288     "-----BEGIN CERTIFICATE-----\r\n"
289     "MIID6jCCAtKgAwIBAgIIIM2q/TmRoLcwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE\r\n"
290     "BhMCRU4xEDAOBgNVBAgTB0VuZ2xhbmQxDzANBgNVBAcTBkxvbmRvbjEMMAoGA1UE\r\n"
291     "ChMDdHMyMQwwCgYDVQQLEwN0czIxDDAKBgNVBAMTA3RzMjAeFw0yMzEyMDUwNzM5\r\n"
292     "MDBaFw0yNDEwMzEyMzU5MDBaMGExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdKaWFu\r\n"
293     "Z3N1MRAwDgYDVQQHEwdOYW5qaW5nMQwwCgYDVQQKEwN0czMxDDAKBgNVBAsTA3Rz\r\n"
294     "MzESMBAGA1UEAxMJMTI3LjAuMC4xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB\r\n"
295     "CgKCAQEAtt+2QxUevbolYLp51QGcUpageI4fwGLIqv4fj4aoVnHFOOBqVOVpfCLR\r\n"
296     "p26LFV/F8ebwPyo8YEBKSwXzMD1573rMSbaH9BalscH5lZYAbetXoio6YRvzlcmc\r\n"
297     "rVvLBNMeVnxY86xHpo0MTNyP7W024rZsxWO98xFQVdoiaBC+7+midlisx2Y+7u0j\r\n"
298     "zT9GjeUP6JLdLFUZJKUPSTK3jVzw9v1eZQZKYoNfU6vFMd6ndtwW6qEnwpzmmX/U\r\n"
299     "T+p5ThAMH593zszlz330nTSXBjIsGkyvOz9gSB0Z0LAuJj06XUNhGL5xKJYKbdI3\r\n"
300     "8MFQFJKvRHfgTAvVsvAvpBUM2DuBKwIDAQABo4GsMIGpMAkGA1UdEwQCMAAwHQYD\r\n"
301     "VR0OBBYEFDfsHTMZwoA6eaDFlBUyDpka+sYtMAsGA1UdDwQEAwID+DAnBgNVHSUE\r\n"
302     "IDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMEMBQGA1UdEQQNMAuCCTEy\r\n"
303     "Ny4wLjAuMTARBglghkgBhvhCAQEEBAMCBkAwHgYJYIZIAYb4QgENBBEWD3hjYSBj\r\n"
304     "ZXJ0aWZpY2F0ZTANBgkqhkiG9w0BAQsFAAOCAQEAp5vTvXrt8ZpgRJVtzv9ss0lJ\r\n"
305     "izp1fJf+ft5cDXrs7TSD5oHrSW2vk/ZieIMhexU4LFwhs4OE7jK6pgI48Dseqxx7\r\n"
306     "B/KktxhVMJUmVXd9Ayjp6f+BtZlIk0cArPuoXToXjsV8caTGBXHRdzxpAk/w9syc\r\n"
307     "GYrbH9TrdNMuTizOb+k268oKXUageZNxHmd7YvOXkcNgrd29jzwXKDYYiUa1DISz\r\n"
308     "DnYaJOgPt0B/5izhoWNK7GhJDy9KEuLURcTSWFysbbnljwO9INPT9MmlS83PdAgN\r\n"
309     "iS8VXF4pce1W9U5jH7d7k0JDVSXybebe1iPFphsZpYM/NE+jap+mPy1nTCbf9g==\r\n"
310     "-----END CERTIFICATE-----\r\n"
311     "-----BEGIN CERTIFICATE-----\r\n"
312     "MIIB3zCCAZGgAwIBAgIIWQvOEDl+ya4wBQYDK2VwMFoxCzAJBgNVBAYTAkVOMRAw\r\n"
313     "DgYDVQQIEwdFbmdsYW5kMQ8wDQYDVQQHEwZMb25kb24xDDAKBgNVBAoTA3RzMTEM\r\n"
314     "MAoGA1UECxMDdHMxMQwwCgYDVQQDEwN0czEwHhcNMjMxMjA1MDAwMDAwWhcNMjQx\r\n"
315     "MjA0MjM1OTU5WjBaMQswCQYDVQQGEwJFTjEQMA4GA1UECBMHRW5nbGFuZDEPMA0G\r\n"
316     "A1UEBxMGTG9uZG9uMQwwCgYDVQQKEwN0czExDDAKBgNVBAsTA3RzMTEMMAoGA1UE\r\n"
317     "AxMDdHMxMCowBQYDK2VwAyEAuxadj1ww0LqPN24zr28jcSOlSWAe0QdLyRF+ZgG6\r\n"
318     "klKjdTBzMBIGA1UdEwEB/wQIMAYBAf8CARQwHQYDVR0OBBYEFNSgpoQvfxR8A1Y4\r\n"
319     "St8NjOHkRpm4MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAAcwHgYJYIZI\r\n"
320     "AYb4QgENBBEWD3hjYSBjZXJ0aWZpY2F0ZTAFBgMrZXADQQAblBgoa72X/K13WOvc\r\n"
321     "KW0fqBgFKvLy85hWD6Ufi61k4ProQiZzMK+0+y9jReKelPx/zRdCCgSbQroAR2mV\r\n"
322     "xjoE\r\n"
323     "-----END CERTIFICATE-----\r\n"
324     "-----BEGIN CERTIFICATE-----\r\n"
325     "MIIC0zCCAoWgAwIBAgIIXpLoPpQVWnkwBQYDK2VwMFoxCzAJBgNVBAYTAkVOMRAw\r\n"
326     "DgYDVQQIEwdFbmdsYW5kMQ8wDQYDVQQHEwZMb25kb24xDDAKBgNVBAoTA3RzMTEM\r\n"
327     "MAoGA1UECxMDdHMxMQwwCgYDVQQDEwN0czEwHhcNMjMxMjA1MDczNzAwWhcNMjQw\r\n"
328     "OTAxMjM1OTAwWjBaMQswCQYDVQQGEwJFTjEQMA4GA1UECBMHRW5nbGFuZDEPMA0G\r\n"
329     "A1UEBxMGTG9uZG9uMQwwCgYDVQQKEwN0czIxDDAKBgNVBAsTA3RzMjEMMAoGA1UE\r\n"
330     "AxMDdHMyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtt+2QxUevbol\r\n"
331     "YLp51QGcUpageI4fwGLIqv4fj4aoVnHFOOBqVOVpfCLRp26LFV/F8ebwPyo8YEBK\r\n"
332     "SwXzMD1573rMSbaH9BalscH5lZYAbetXoio6YRvzlcmcrVvLBNMeVnxY86xHpo0M\r\n"
333     "TNyP7W024rZsxWO98xFQVdoiaBC+7+midlisx2Y+7u0jzT9GjeUP6JLdLFUZJKUP\r\n"
334     "STK3jVzw9v1eZQZKYoNfU6vFMd6ndtwW6qEnwpzmmX/UT+p5ThAMH593zszlz330\r\n"
335     "nTSXBjIsGkyvOz9gSB0Z0LAuJj06XUNhGL5xKJYKbdI38MFQFJKvRHfgTAvVsvAv\r\n"
336     "pBUM2DuBKwIDAQABo28wbTAMBgNVHRMEBTADAQH/MB0GA1UdDgQWBBQ37B0zGcKA\r\n"
337     "OnmgxZQVMg6ZGvrGLTALBgNVHQ8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMB4G\r\n"
338     "CWCGSAGG+EIBDQQRFg94Y2EgY2VydGlmaWNhdGUwBQYDK2VwA0EAuasLBe55YgvF\r\n"
339     "b4wmHeohylc9r8cFGS1LNQ5UcSn3sGqMYf6ehnef16NLuCW6upHCs8Sui4iAMvsP\r\n"
340     "uKPWR9dKBA==\r\n"
341     "-----END CERTIFICATE-----\r\n";
342 
343 #ifdef __cplusplus
344 }
345 #endif
346 #endif
347