1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 
5 /*****************************************************************************/
6 /* This is an automatically generated file. If you're not                    */
7 /* PublicKeyPinningService.cpp, you shouldn't be #including it.              */
8 /*****************************************************************************/
9 #include <stdint.h>
10 /* AddTrust External Root */
11 static const char kAddTrust_External_RootFingerprint[] =
12   "lCppFqbkrlJ3EcVFAkeip0+44VaoJUymbnOaEUk7tEU=";
13 
14 /* AddTrust Low-Value Services Root */
15 static const char kAddTrust_Low_Value_Services_RootFingerprint[] =
16   "BStocQfshOhzA4JFLsKidFF0XXSFpX1vRk4Np6G2ryo=";
17 
18 /* AddTrust Public Services Root */
19 static const char kAddTrust_Public_Services_RootFingerprint[] =
20   "OGHXtpYfzbISBFb/b8LrdwSxp0G0vZM6g3b14ZFcppg=";
21 
22 /* AddTrust Qualified Certificates Root */
23 static const char kAddTrust_Qualified_Certificates_RootFingerprint[] =
24   "xzr8Lrp3DQy8HuQfJStS6Kk9ErctzOwDHY2DnL+Bink=";
25 
26 /* AffirmTrust Commercial */
27 static const char kAffirmTrust_CommercialFingerprint[] =
28   "bEZLmlsjOl6HTadlwm8EUBDS3c/0V5TwtMfkqvpQFJU=";
29 
30 /* AffirmTrust Networking */
31 static const char kAffirmTrust_NetworkingFingerprint[] =
32   "lAcq0/WPcPkwmOWl9sBMlscQvYSdgxhJGa6Q64kK5AA=";
33 
34 /* AffirmTrust Premium */
35 static const char kAffirmTrust_PremiumFingerprint[] =
36   "x/Q7TPW3FWgpT4IrU3YmBfbd0Vyt7Oc56eLDy6YenWc=";
37 
38 /* AffirmTrust Premium ECC */
39 static const char kAffirmTrust_Premium_ECCFingerprint[] =
40   "MhmwkRT/SVo+tusAwu/qs0ACrl8KVsdnnqCHo/oDfk8=";
41 
42 /* Baltimore CyberTrust Root */
43 static const char kBaltimore_CyberTrust_RootFingerprint[] =
44   "Y9mvm0exBk1JoQ57f9Vm28jKo5lFm/woKcVxrYxu80o=";
45 
46 /* COMODO Certification Authority */
47 static const char kCOMODO_Certification_AuthorityFingerprint[] =
48   "AG1751Vd2CAmRCxPGieoDomhmJy4ezREjtIZTBgZbV4=";
49 
50 /* COMODO ECC Certification Authority */
51 static const char kCOMODO_ECC_Certification_AuthorityFingerprint[] =
52   "58qRu/uxh4gFezqAcERupSkRYBlBAvfcw7mEjGPLnNU=";
53 
54 /* COMODO RSA Certification Authority */
55 static const char kCOMODO_RSA_Certification_AuthorityFingerprint[] =
56   "grX4Ta9HpZx6tSHkmCrvpApTQGo67CYDnvprLg5yRME=";
57 
58 /* Comodo AAA Services root */
59 static const char kComodo_AAA_Services_rootFingerprint[] =
60   "vRU+17BDT2iGsXvOi76E7TQMcTLXAqj0+jGPdW7L1vM=";
61 
62 /* Comodo Secure Services root */
63 static const char kComodo_Secure_Services_rootFingerprint[] =
64   "RpHL/ehKa2BS3b4VK7DCFq4lqG5XR4E9vA8UfzOFcL4=";
65 
66 /* Comodo Trusted Services root */
67 static const char kComodo_Trusted_Services_rootFingerprint[] =
68   "4tiR77c4ZpEF1TDeXtcuKyrD9KZweLU0mz/ayklvXrg=";
69 
70 /* Cybertrust Global Root */
71 static const char kCybertrust_Global_RootFingerprint[] =
72   "foeCwVDOOVL4AuY2AjpdPpW7XWjjPoWtsroXgSXOvxU=";
73 
74 /* DST Root CA X3 */
75 static const char kDST_Root_CA_X3Fingerprint[] =
76   "Vjs8r4z+80wjNcr1YKepWQboSIRi63WsWXhIMN+eWys=";
77 
78 /* DigiCert Assured ID Root CA */
79 static const char kDigiCert_Assured_ID_Root_CAFingerprint[] =
80   "I/Lt/z7ekCWanjD0Cvj5EqXls2lOaThEA0H2Bg4BT/o=";
81 
82 /* DigiCert Assured ID Root G2 */
83 static const char kDigiCert_Assured_ID_Root_G2Fingerprint[] =
84   "8ca6Zwz8iOTfUpc8rkIPCgid1HQUT+WAbEIAZOFZEik=";
85 
86 /* DigiCert Assured ID Root G3 */
87 static const char kDigiCert_Assured_ID_Root_G3Fingerprint[] =
88   "Fe7TOVlLME+M+Ee0dzcdjW/sYfTbKwGvWJ58U7Ncrkw=";
89 
90 /* DigiCert Global Root CA */
91 static const char kDigiCert_Global_Root_CAFingerprint[] =
92   "r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E=";
93 
94 /* DigiCert Global Root G2 */
95 static const char kDigiCert_Global_Root_G2Fingerprint[] =
96   "i7WTqTvh0OioIruIfFR4kMPnBqrS2rdiVPl/s2uC/CY=";
97 
98 /* DigiCert Global Root G3 */
99 static const char kDigiCert_Global_Root_G3Fingerprint[] =
100   "uUwZgwDOxcBXrQcntwu+kYFpkiVkOaezL0WYEZ3anJc=";
101 
102 /* DigiCert High Assurance EV Root CA */
103 static const char kDigiCert_High_Assurance_EV_Root_CAFingerprint[] =
104   "WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=";
105 
106 /* DigiCert Trusted Root G4 */
107 static const char kDigiCert_Trusted_Root_G4Fingerprint[] =
108   "Wd8xe/qfTwq3ylFNd3IpaqLHZbh2ZNCLluVzmeNkcpw=";
109 
110 /* End Entity Test Cert */
111 static const char kEnd_Entity_Test_CertFingerprint[] =
112   "VCIlmPM9NkgFQtrs4Oa5TeFcDu6MWRTKSNdePEhOgD8=";
113 
114 /* Entrust Root Certification Authority */
115 static const char kEntrust_Root_Certification_AuthorityFingerprint[] =
116   "bb+uANN7nNc/j7R95lkXrwDg3d9C286sIMF8AnXuIJU=";
117 
118 /* Entrust Root Certification Authority - EC1 */
119 static const char kEntrust_Root_Certification_Authority___EC1Fingerprint[] =
120   "/qK31kX7pz11PB7Jp4cMQOH3sMVh6Se5hb9xGGbjbyI=";
121 
122 /* Entrust Root Certification Authority - G2 */
123 static const char kEntrust_Root_Certification_Authority___G2Fingerprint[] =
124   "du6FkDdMcVQ3u8prumAo6t3i3G27uMP2EOhR8R0at/U=";
125 
126 /* Entrust.net Premium 2048 Secure Server CA */
127 static const char kEntrust_net_Premium_2048_Secure_Server_CAFingerprint[] =
128   "HqPF5D7WbC2imDpCpKebHpBnhs6fG1hiFBmgBGOofTg=";
129 
130 /* FacebookBackup */
131 static const char kFacebookBackupFingerprint[] =
132   "q4PO2G2cbkZhZ82+JgmRUyGMoAeozA+BSXVXQWB8XWQ=";
133 
134 /* GOOGLE_PIN_COMODORSADomainValidationSecureServerCA */
135 static const char kGOOGLE_PIN_COMODORSADomainValidationSecureServerCAFingerprint[] =
136   "klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=";
137 
138 /* GOOGLE_PIN_DigiCertECCSecureServerCA */
139 static const char kGOOGLE_PIN_DigiCertECCSecureServerCAFingerprint[] =
140   "PZXN3lRAy+8tBKk2Ox6F7jIlnzr2Yzmwqc3JnyfXoCw=";
141 
142 /* GOOGLE_PIN_DigiCertSHA2HighAssuranceServerCA */
143 static const char kGOOGLE_PIN_DigiCertSHA2HighAssuranceServerCAFingerprint[] =
144   "k2v657xBsOVe1PQRwOsHsw3bsGT2VzIqz5K+59sNQws=";
145 
146 /* GOOGLE_PIN_Entrust_SSL */
147 static const char kGOOGLE_PIN_Entrust_SSLFingerprint[] =
148   "nsxRNo6G40YPZsKV5JQt1TCA8nseQQr/LRqp1Oa8fnw=";
149 
150 /* GOOGLE_PIN_GTECyberTrustGlobalRoot */
151 static const char kGOOGLE_PIN_GTECyberTrustGlobalRootFingerprint[] =
152   "EGn6R6CqT4z3ERscrqNl7q7RC//zJmDe9uBhS/rnCHU=";
153 
154 /* GOOGLE_PIN_GoDaddySecure */
155 static const char kGOOGLE_PIN_GoDaddySecureFingerprint[] =
156   "MrZLZnJ6IGPkBm87lYywqu5Xal7O/ZUzmbuIdHMdlYc=";
157 
158 /* GOOGLE_PIN_GoogleG2 */
159 static const char kGOOGLE_PIN_GoogleG2Fingerprint[] =
160   "7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=";
161 
162 /* GOOGLE_PIN_LetsEncryptAuthorityBackup_X2_X4 */
163 static const char kGOOGLE_PIN_LetsEncryptAuthorityBackup_X2_X4Fingerprint[] =
164   "sRHdihwgkaib1P1gxX8HFszlD+7/gTfNvuAybgLPNis=";
165 
166 /* GOOGLE_PIN_LetsEncryptAuthorityPrimary_X1_X3 */
167 static const char kGOOGLE_PIN_LetsEncryptAuthorityPrimary_X1_X3Fingerprint[] =
168   "YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=";
169 
170 /* GOOGLE_PIN_RapidSSL */
171 static const char kGOOGLE_PIN_RapidSSLFingerprint[] =
172   "lT09gPUeQfbYrlxRtpsHrjDblj9Rpz+u7ajfCrg4qDM=";
173 
174 /* GOOGLE_PIN_SymantecClass3EVG3 */
175 static const char kGOOGLE_PIN_SymantecClass3EVG3Fingerprint[] =
176   "gMxWOrX4PMQesK9qFNbYBxjBfjUvlkn/vN1n+L9lE5E=";
177 
178 /* GOOGLE_PIN_UTNDATACorpSGC */
179 static const char kGOOGLE_PIN_UTNDATACorpSGCFingerprint[] =
180   "QAL80xHQczFWfnG82XHkYEjI3OjRZZcRdTs9qiommvo=";
181 
182 /* GOOGLE_PIN_VeriSignClass1 */
183 static const char kGOOGLE_PIN_VeriSignClass1Fingerprint[] =
184   "LclHC+Y+9KzxvYKGCUArt7h72ZY4pkOTTohoLRvowwg=";
185 
186 /* GOOGLE_PIN_VeriSignClass2_G2 */
187 static const char kGOOGLE_PIN_VeriSignClass2_G2Fingerprint[] =
188   "2oALgLKofTmeZvoZ1y/fSZg7R9jPMix8eVA6DH4o/q8=";
189 
190 /* GOOGLE_PIN_VeriSignClass3_G2 */
191 static const char kGOOGLE_PIN_VeriSignClass3_G2Fingerprint[] =
192   "AjyBzOjnxk+pQtPBUEhwfTXZu1uH9PVExb8bxWQ68vo=";
193 
194 /* GOOGLE_PIN_VeriSignClass4_G3 */
195 static const char kGOOGLE_PIN_VeriSignClass4_G3Fingerprint[] =
196   "VnuCEf0g09KD7gzXzgZyy52ZvFtIeljJ1U7Gf3fUqPU=";
197 
198 /* GeoTrust Global CA */
199 static const char kGeoTrust_Global_CAFingerprint[] =
200   "h6801m+z8v3zbgkRHpq6L29Esgfzhj89C1SyUCOQmqU=";
201 
202 /* GeoTrust Global CA 2 */
203 static const char kGeoTrust_Global_CA_2Fingerprint[] =
204   "F3VaXClfPS1y5vAxofB/QAxYi55YKyLxfq4xoVkNEYU=";
205 
206 /* GeoTrust Primary Certification Authority */
207 static const char kGeoTrust_Primary_Certification_AuthorityFingerprint[] =
208   "SQVGZiOrQXi+kqxcvWWE96HhfydlLVqFr4lQTqI5qqo=";
209 
210 /* GeoTrust Primary Certification Authority - G2 */
211 static const char kGeoTrust_Primary_Certification_Authority___G2Fingerprint[] =
212   "vPtEqrmtAhAVcGtBIep2HIHJ6IlnWQ9vlK50TciLePs=";
213 
214 /* GeoTrust Primary Certification Authority - G3 */
215 static const char kGeoTrust_Primary_Certification_Authority___G3Fingerprint[] =
216   "q5hJUnat8eyv8o81xTBIeB5cFxjaucjmelBPT2pRMo8=";
217 
218 /* GeoTrust Universal CA */
219 static const char kGeoTrust_Universal_CAFingerprint[] =
220   "lpkiXF3lLlbN0y3y6W0c/qWqPKC7Us2JM8I7XCdEOCA=";
221 
222 /* GeoTrust Universal CA 2 */
223 static const char kGeoTrust_Universal_CA_2Fingerprint[] =
224   "fKoDRlEkWQxgHlZ+UhSOlSwM/+iQAFMP4NlbbVDqrkE=";
225 
226 /* GlobalSign ECC Root CA - R4 */
227 static const char kGlobalSign_ECC_Root_CA___R4Fingerprint[] =
228   "CLOmM1/OXvSPjw5UOYbAf9GKOxImEp9hhku9W90fHMk=";
229 
230 /* GlobalSign ECC Root CA - R5 */
231 static const char kGlobalSign_ECC_Root_CA___R5Fingerprint[] =
232   "fg6tdrtoGdwvVFEahDVPboswe53YIFjqbABPAdndpd8=";
233 
234 /* GlobalSign Root CA */
235 static const char kGlobalSign_Root_CAFingerprint[] =
236   "K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q=";
237 
238 /* GlobalSign Root CA - R2 */
239 static const char kGlobalSign_Root_CA___R2Fingerprint[] =
240   "iie1VXtL7HzAMF+/PVPR9xzT80kQxdZeJ+zduCB3uj0=";
241 
242 /* GlobalSign Root CA - R3 */
243 static const char kGlobalSign_Root_CA___R3Fingerprint[] =
244   "cGuxAXyFXFkWm61cF4HPWX8S0srS9j0aSqN0k4AP+4A=";
245 
246 /* Go Daddy Class 2 CA */
247 static const char kGo_Daddy_Class_2_CAFingerprint[] =
248   "VjLZe/p3W/PJnd6lL8JVNBCGQBZynFLdZSTIqcO0SJ8=";
249 
250 /* Go Daddy Root Certificate Authority - G2 */
251 static const char kGo_Daddy_Root_Certificate_Authority___G2Fingerprint[] =
252   "Ko8tivDrEjiY90yGasP6ZpBU4jwXvHqVvQI0GS3GNdA=";
253 
254 /* GoogleBackup2048 */
255 static const char kGoogleBackup2048Fingerprint[] =
256   "IPMbDAjLVSGntGO3WP53X/zilCVndez5YJ2+vJvhJsA=";
257 
258 /* SpiderOak2 */
259 static const char kSpiderOak2Fingerprint[] =
260   "7Y3UnxbffL8aFPXsOJBpGasgpDmngpIhAxGKdQRklQQ=";
261 
262 /* SpiderOak3 */
263 static const char kSpiderOak3Fingerprint[] =
264   "LkER54vOdlygpTsbYvlpMq1CE/lDAG1AP9xmdtwvV2A=";
265 
266 /* Starfield Class 2 CA */
267 static const char kStarfield_Class_2_CAFingerprint[] =
268   "FfFKxFycfaIz00eRZOgTf+Ne4POK6FgYPwhBDqgqxLQ=";
269 
270 /* Starfield Root Certificate Authority - G2 */
271 static const char kStarfield_Root_Certificate_Authority___G2Fingerprint[] =
272   "gI1os/q0iEpflxrOfRBVDXqVoWN3Tz7Dav/7IT++THQ=";
273 
274 /* Swehack */
275 static const char kSwehackFingerprint[] =
276   "FdaffE799rVb3oyAuhJ2mBW/XJwD07Uajb2G6YwSAEw=";
277 
278 /* SwehackBackup */
279 static const char kSwehackBackupFingerprint[] =
280   "z6cuswA6E1vgFkCjUsbEYo0Lf3aP8M8YOvwkoiGzDCo=";
281 
282 /* TestSPKI */
283 static const char kTestSPKIFingerprint[] =
284   "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
285 
286 /* Tor1 */
287 static const char kTor1Fingerprint[] =
288   "bYz9JTDk89X3qu3fgswG+lBQso5vI0N1f0Rx4go4nLo=";
289 
290 /* Tor2 */
291 static const char kTor2Fingerprint[] =
292   "xXCxhTdn7uxXneJSbQCqoAvuW3ZtQl2pDVTf2sewS8w=";
293 
294 /* Tor3 */
295 static const char kTor3Fingerprint[] =
296   "CleC1qwUR8JPgH1nXvSe2VHxDe5/KfNs96EusbfSOfo=";
297 
298 /* TumblrBackup */
299 static const char kTumblrBackupFingerprint[] =
300   "avlD96PLERV78IN1fD+ab5cupkUDD9wTZWJjHX6VC9w=";
301 
302 /* Twitter1 */
303 static const char kTwitter1Fingerprint[] =
304   "vU9M48LzD/CF34wE5PPf4nBwRyosy06X21J0ap8yS5s=";
305 
306 /* USERTrust ECC Certification Authority */
307 static const char kUSERTrust_ECC_Certification_AuthorityFingerprint[] =
308   "ICGRfpgmOUXIWcQ/HXPLQTkFPEFPoDyjvH7ohhQpjzs=";
309 
310 /* USERTrust RSA Certification Authority */
311 static const char kUSERTrust_RSA_Certification_AuthorityFingerprint[] =
312   "x4QzPSC810K5/cMjb05Qm4k3Bw5zBn4lTdO/nEW/Td4=";
313 
314 /* UTN USERFirst Email Root CA */
315 static const char kUTN_USERFirst_Email_Root_CAFingerprint[] =
316   "Laj56jRU0hFGRko/nQKNxMf7tXscUsc8KwVyovWZotM=";
317 
318 /* UTN USERFirst Hardware Root CA */
319 static const char kUTN_USERFirst_Hardware_Root_CAFingerprint[] =
320   "TUDnr0MEoJ3of7+YliBMBVFB4/gJsv5zO7IxD9+YoWI=";
321 
322 /* UTN USERFirst Object Root CA */
323 static const char kUTN_USERFirst_Object_Root_CAFingerprint[] =
324   "D+FMJksXu28NZT56cOs2Pb9UvhWAOe3a5cJXEd9IwQM=";
325 
326 /* VeriSign Class 3 Public Primary Certification Authority - G4 */
327 static const char kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint[] =
328   "UZJDjsNp1+4M5x9cbbdflB779y5YRBcV6Z6rBMLIrO4=";
329 
330 /* VeriSign Class 3 Public Primary Certification Authority - G5 */
331 static const char kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint[] =
332   "JbQbUG5JMJUoI6brnx0x3vZF6jilxsapbXGVfjhN8Fg=";
333 
334 /* VeriSign Universal Root Certification Authority */
335 static const char kVeriSign_Universal_Root_Certification_AuthorityFingerprint[] =
336   "lnsM2T/O9/J84sJFdnrpsFp3awZJ+ZZbYpCWhGloaHI=";
337 
338 /* Verisign Class 1 Public Primary Certification Authority - G3 */
339 static const char kVerisign_Class_1_Public_Primary_Certification_Authority___G3Fingerprint[] =
340   "IgduWu9Eu5pBaii30cRDItcFn2D+/6XK9sW+hEeJEwM=";
341 
342 /* Verisign Class 2 Public Primary Certification Authority - G3 */
343 static const char kVerisign_Class_2_Public_Primary_Certification_Authority___G3Fingerprint[] =
344   "cAajgxHlj7GTSEIzIYIQxmEloOSoJq7VOaxWHfv72QM=";
345 
346 /* Verisign Class 3 Public Primary Certification Authority - G3 */
347 static const char kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint[] =
348   "SVqWumuteCQHvVIaALrOZXuzVVVeS7f4FGxxu6V+es4=";
349 
350 /* YahooBackup1 */
351 static const char kYahooBackup1Fingerprint[] =
352   "2fRAUXyxl4A1/XHrKNBmc8bTkzA7y4FB/GLJuNAzCqY=";
353 
354 /* YahooBackup2 */
355 static const char kYahooBackup2Fingerprint[] =
356   "dolnbtzEBnELx/9lOEQ22e6OZO/QNb6VSSX2XHA3E7A=";
357 
358 /* thawte Primary Root CA */
359 static const char kthawte_Primary_Root_CAFingerprint[] =
360   "HXXQgxueCIU5TTLHob/bPbwcKOKw6DkfsTWYHbxbqTY=";
361 
362 /* thawte Primary Root CA - G2 */
363 static const char kthawte_Primary_Root_CA___G2Fingerprint[] =
364   "Z9xPMvoQ59AaeaBzqgyeAhLsL/w9d54Kp/nA8OHCyJM=";
365 
366 /* thawte Primary Root CA - G3 */
367 static const char kthawte_Primary_Root_CA___G3Fingerprint[] =
368   "GQbGEk27Q4V40A4GbVBUxsN/D6YCjAVUXgmU7drshik=";
369 
370 /* Pinsets are each an ordered list by the actual value of the fingerprint */
371 struct StaticFingerprints {
372   const size_t size;
373   const char* const* data;
374 };
375 
376 /* PreloadedHPKPins.json pinsets */
377 static const char* const kPinset_google_root_pems_Data[] = {
378   kEntrust_Root_Certification_Authority___EC1Fingerprint,
379   kComodo_Trusted_Services_rootFingerprint,
380   kCOMODO_ECC_Certification_AuthorityFingerprint,
381   kDigiCert_Assured_ID_Root_G2Fingerprint,
382   kCOMODO_Certification_AuthorityFingerprint,
383   kAddTrust_Low_Value_Services_RootFingerprint,
384   kGlobalSign_ECC_Root_CA___R4Fingerprint,
385   kGeoTrust_Global_CA_2Fingerprint,
386   kDigiCert_Assured_ID_Root_G3Fingerprint,
387   kStarfield_Class_2_CAFingerprint,
388   kthawte_Primary_Root_CA___G3Fingerprint,
389   kthawte_Primary_Root_CAFingerprint,
390   kEntrust_net_Premium_2048_Secure_Server_CAFingerprint,
391   kDigiCert_Assured_ID_Root_CAFingerprint,
392   kUSERTrust_ECC_Certification_AuthorityFingerprint,
393   kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint,
394   kGlobalSign_Root_CAFingerprint,
395   kGo_Daddy_Root_Certificate_Authority___G2Fingerprint,
396   kAffirmTrust_Premium_ECCFingerprint,
397   kAddTrust_Public_Services_RootFingerprint,
398   kComodo_Secure_Services_rootFingerprint,
399   kGeoTrust_Primary_Certification_AuthorityFingerprint,
400   kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint,
401   kUTN_USERFirst_Hardware_Root_CAFingerprint,
402   kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint,
403   kGo_Daddy_Class_2_CAFingerprint,
404   kDigiCert_Trusted_Root_G4Fingerprint,
405   kDigiCert_High_Assurance_EV_Root_CAFingerprint,
406   kBaltimore_CyberTrust_RootFingerprint,
407   kthawte_Primary_Root_CA___G2Fingerprint,
408   kAffirmTrust_CommercialFingerprint,
409   kEntrust_Root_Certification_AuthorityFingerprint,
410   kGlobalSign_Root_CA___R3Fingerprint,
411   kEntrust_Root_Certification_Authority___G2Fingerprint,
412   kGeoTrust_Universal_CA_2Fingerprint,
413   kGlobalSign_ECC_Root_CA___R5Fingerprint,
414   kCybertrust_Global_RootFingerprint,
415   kStarfield_Root_Certificate_Authority___G2Fingerprint,
416   kCOMODO_RSA_Certification_AuthorityFingerprint,
417   kGeoTrust_Global_CAFingerprint,
418   kDigiCert_Global_Root_G2Fingerprint,
419   kGlobalSign_Root_CA___R2Fingerprint,
420   kAffirmTrust_NetworkingFingerprint,
421   kAddTrust_External_RootFingerprint,
422   kVeriSign_Universal_Root_Certification_AuthorityFingerprint,
423   kGeoTrust_Universal_CAFingerprint,
424   kGeoTrust_Primary_Certification_Authority___G3Fingerprint,
425   kDigiCert_Global_Root_CAFingerprint,
426   kDigiCert_Global_Root_G3Fingerprint,
427   kGeoTrust_Primary_Certification_Authority___G2Fingerprint,
428   kComodo_AAA_Services_rootFingerprint,
429   kAffirmTrust_PremiumFingerprint,
430   kUSERTrust_RSA_Certification_AuthorityFingerprint,
431   kAddTrust_Qualified_Certificates_RootFingerprint,
432 };
433 static const StaticFingerprints kPinset_google_root_pems = {
434   sizeof(kPinset_google_root_pems_Data) / sizeof(const char*),
435   kPinset_google_root_pems_Data
436 };
437 
438 static const char* const kPinset_mozilla_Data[] = {
439   kGeoTrust_Global_CA_2Fingerprint,
440   kthawte_Primary_Root_CA___G3Fingerprint,
441   kthawte_Primary_Root_CAFingerprint,
442   kDigiCert_Assured_ID_Root_CAFingerprint,
443   kVerisign_Class_1_Public_Primary_Certification_Authority___G3Fingerprint,
444   kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint,
445   kGeoTrust_Primary_Certification_AuthorityFingerprint,
446   kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint,
447   kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint,
448   kDigiCert_High_Assurance_EV_Root_CAFingerprint,
449   kBaltimore_CyberTrust_RootFingerprint,
450   kthawte_Primary_Root_CA___G2Fingerprint,
451   kVerisign_Class_2_Public_Primary_Certification_Authority___G3Fingerprint,
452   kGeoTrust_Universal_CA_2Fingerprint,
453   kGeoTrust_Global_CAFingerprint,
454   kVeriSign_Universal_Root_Certification_AuthorityFingerprint,
455   kGeoTrust_Universal_CAFingerprint,
456   kGeoTrust_Primary_Certification_Authority___G3Fingerprint,
457   kDigiCert_Global_Root_CAFingerprint,
458   kGeoTrust_Primary_Certification_Authority___G2Fingerprint,
459 };
460 static const StaticFingerprints kPinset_mozilla = {
461   sizeof(kPinset_mozilla_Data) / sizeof(const char*),
462   kPinset_mozilla_Data
463 };
464 
465 static const char* const kPinset_mozilla_services_Data[] = {
466   kDigiCert_Global_Root_CAFingerprint,
467 };
468 static const StaticFingerprints kPinset_mozilla_services = {
469   sizeof(kPinset_mozilla_services_Data) / sizeof(const char*),
470   kPinset_mozilla_services_Data
471 };
472 
473 static const char* const kPinset_mozilla_test_Data[] = {
474   kEnd_Entity_Test_CertFingerprint,
475 };
476 static const StaticFingerprints kPinset_mozilla_test = {
477   sizeof(kPinset_mozilla_test_Data) / sizeof(const char*),
478   kPinset_mozilla_test_Data
479 };
480 
481 /* Chrome static pinsets */
482 static const char* const kPinset_test_Data[] = {
483   kTestSPKIFingerprint,
484 };
485 static const StaticFingerprints kPinset_test = {
486   sizeof(kPinset_test_Data) / sizeof(const char*),
487   kPinset_test_Data
488 };
489 
490 static const char* const kPinset_google_Data[] = {
491   kGOOGLE_PIN_GoogleG2Fingerprint,
492   kGoogleBackup2048Fingerprint,
493   kGeoTrust_Global_CAFingerprint,
494   kGlobalSign_Root_CA___R2Fingerprint,
495 };
496 static const StaticFingerprints kPinset_google = {
497   sizeof(kPinset_google_Data) / sizeof(const char*),
498   kPinset_google_Data
499 };
500 
501 static const char* const kPinset_tor_Data[] = {
502   kTor3Fingerprint,
503   kDigiCert_High_Assurance_EV_Root_CAFingerprint,
504   kGOOGLE_PIN_LetsEncryptAuthorityPrimary_X1_X3Fingerprint,
505   kTor1Fingerprint,
506   kGOOGLE_PIN_RapidSSLFingerprint,
507   kGOOGLE_PIN_LetsEncryptAuthorityBackup_X2_X4Fingerprint,
508   kTor2Fingerprint,
509 };
510 static const StaticFingerprints kPinset_tor = {
511   sizeof(kPinset_tor_Data) / sizeof(const char*),
512   kPinset_tor_Data
513 };
514 
515 static const char* const kPinset_twitterCom_Data[] = {
516   kGOOGLE_PIN_VeriSignClass2_G2Fingerprint,
517   kGOOGLE_PIN_VeriSignClass3_G2Fingerprint,
518   kGeoTrust_Global_CA_2Fingerprint,
519   kDigiCert_Assured_ID_Root_CAFingerprint,
520   kVerisign_Class_1_Public_Primary_Certification_Authority___G3Fingerprint,
521   kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint,
522   kGOOGLE_PIN_VeriSignClass1Fingerprint,
523   kGeoTrust_Primary_Certification_AuthorityFingerprint,
524   kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint,
525   kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint,
526   kGOOGLE_PIN_VeriSignClass4_G3Fingerprint,
527   kDigiCert_High_Assurance_EV_Root_CAFingerprint,
528   kVerisign_Class_2_Public_Primary_Certification_Authority___G3Fingerprint,
529   kGeoTrust_Universal_CA_2Fingerprint,
530   kGeoTrust_Global_CAFingerprint,
531   kVeriSign_Universal_Root_Certification_AuthorityFingerprint,
532   kGeoTrust_Universal_CAFingerprint,
533   kGeoTrust_Primary_Certification_Authority___G3Fingerprint,
534   kDigiCert_Global_Root_CAFingerprint,
535   kGeoTrust_Primary_Certification_Authority___G2Fingerprint,
536   kTwitter1Fingerprint,
537 };
538 static const StaticFingerprints kPinset_twitterCom = {
539   sizeof(kPinset_twitterCom_Data) / sizeof(const char*),
540   kPinset_twitterCom_Data
541 };
542 
543 static const char* const kPinset_twitterCDN_Data[] = {
544   kGOOGLE_PIN_VeriSignClass2_G2Fingerprint,
545   kComodo_Trusted_Services_rootFingerprint,
546   kCOMODO_Certification_AuthorityFingerprint,
547   kGOOGLE_PIN_VeriSignClass3_G2Fingerprint,
548   kAddTrust_Low_Value_Services_RootFingerprint,
549   kUTN_USERFirst_Object_Root_CAFingerprint,
550   kGOOGLE_PIN_GTECyberTrustGlobalRootFingerprint,
551   kGeoTrust_Global_CA_2Fingerprint,
552   kEntrust_net_Premium_2048_Secure_Server_CAFingerprint,
553   kDigiCert_Assured_ID_Root_CAFingerprint,
554   kVerisign_Class_1_Public_Primary_Certification_Authority___G3Fingerprint,
555   kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint,
556   kGlobalSign_Root_CAFingerprint,
557   kUTN_USERFirst_Email_Root_CAFingerprint,
558   kGOOGLE_PIN_VeriSignClass1Fingerprint,
559   kAddTrust_Public_Services_RootFingerprint,
560   kGOOGLE_PIN_UTNDATACorpSGCFingerprint,
561   kComodo_Secure_Services_rootFingerprint,
562   kGeoTrust_Primary_Certification_AuthorityFingerprint,
563   kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint,
564   kUTN_USERFirst_Hardware_Root_CAFingerprint,
565   kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint,
566   kGOOGLE_PIN_VeriSignClass4_G3Fingerprint,
567   kDigiCert_High_Assurance_EV_Root_CAFingerprint,
568   kBaltimore_CyberTrust_RootFingerprint,
569   kEntrust_Root_Certification_AuthorityFingerprint,
570   kVerisign_Class_2_Public_Primary_Certification_Authority___G3Fingerprint,
571   kGlobalSign_Root_CA___R3Fingerprint,
572   kEntrust_Root_Certification_Authority___G2Fingerprint,
573   kGeoTrust_Universal_CA_2Fingerprint,
574   kGeoTrust_Global_CAFingerprint,
575   kGlobalSign_Root_CA___R2Fingerprint,
576   kAddTrust_External_RootFingerprint,
577   kVeriSign_Universal_Root_Certification_AuthorityFingerprint,
578   kGeoTrust_Universal_CAFingerprint,
579   kGOOGLE_PIN_Entrust_SSLFingerprint,
580   kGeoTrust_Primary_Certification_Authority___G3Fingerprint,
581   kDigiCert_Global_Root_CAFingerprint,
582   kGeoTrust_Primary_Certification_Authority___G2Fingerprint,
583   kComodo_AAA_Services_rootFingerprint,
584   kTwitter1Fingerprint,
585   kAddTrust_Qualified_Certificates_RootFingerprint,
586 };
587 static const StaticFingerprints kPinset_twitterCDN = {
588   sizeof(kPinset_twitterCDN_Data) / sizeof(const char*),
589   kPinset_twitterCDN_Data
590 };
591 
592 static const char* const kPinset_dropbox_Data[] = {
593   kEntrust_Root_Certification_Authority___EC1Fingerprint,
594   kEntrust_net_Premium_2048_Secure_Server_CAFingerprint,
595   kDigiCert_Assured_ID_Root_CAFingerprint,
596   kGo_Daddy_Root_Certificate_Authority___G2Fingerprint,
597   kGOOGLE_PIN_GoDaddySecureFingerprint,
598   kGo_Daddy_Class_2_CAFingerprint,
599   kDigiCert_High_Assurance_EV_Root_CAFingerprint,
600   kEntrust_Root_Certification_AuthorityFingerprint,
601   kEntrust_Root_Certification_Authority___G2Fingerprint,
602   kDigiCert_Global_Root_CAFingerprint,
603 };
604 static const StaticFingerprints kPinset_dropbox = {
605   sizeof(kPinset_dropbox_Data) / sizeof(const char*),
606   kPinset_dropbox_Data
607 };
608 
609 static const char* const kPinset_facebook_Data[] = {
610   kGOOGLE_PIN_DigiCertECCSecureServerCAFingerprint,
611   kDigiCert_High_Assurance_EV_Root_CAFingerprint,
612   kGOOGLE_PIN_SymantecClass3EVG3Fingerprint,
613   kFacebookBackupFingerprint,
614 };
615 static const StaticFingerprints kPinset_facebook = {
616   sizeof(kPinset_facebook_Data) / sizeof(const char*),
617   kPinset_facebook_Data
618 };
619 
620 static const char* const kPinset_spideroak_Data[] = {
621   kSpiderOak2Fingerprint,
622   kSpiderOak3Fingerprint,
623   kDigiCert_High_Assurance_EV_Root_CAFingerprint,
624   kGeoTrust_Global_CAFingerprint,
625 };
626 static const StaticFingerprints kPinset_spideroak = {
627   sizeof(kPinset_spideroak_Data) / sizeof(const char*),
628   kPinset_spideroak_Data
629 };
630 
631 static const char* const kPinset_yahoo_Data[] = {
632   kYahooBackup1Fingerprint,
633   kGOOGLE_PIN_VeriSignClass2_G2Fingerprint,
634   kDigiCert_Assured_ID_Root_CAFingerprint,
635   kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint,
636   kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint,
637   kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint,
638   kDigiCert_Trusted_Root_G4Fingerprint,
639   kDigiCert_High_Assurance_EV_Root_CAFingerprint,
640   kVerisign_Class_2_Public_Primary_Certification_Authority___G3Fingerprint,
641   kYahooBackup2Fingerprint,
642   kDigiCert_Global_Root_G2Fingerprint,
643   kVeriSign_Universal_Root_Certification_AuthorityFingerprint,
644   kDigiCert_Global_Root_CAFingerprint,
645   kDigiCert_Global_Root_G3Fingerprint,
646 };
647 static const StaticFingerprints kPinset_yahoo = {
648   sizeof(kPinset_yahoo_Data) / sizeof(const char*),
649   kPinset_yahoo_Data
650 };
651 
652 static const char* const kPinset_swehackCom_Data[] = {
653   kSwehackFingerprint,
654   kDST_Root_CA_X3Fingerprint,
655   kGOOGLE_PIN_LetsEncryptAuthorityPrimary_X1_X3Fingerprint,
656   kGOOGLE_PIN_COMODORSADomainValidationSecureServerCAFingerprint,
657   kGOOGLE_PIN_LetsEncryptAuthorityBackup_X2_X4Fingerprint,
658   kSwehackBackupFingerprint,
659 };
660 static const StaticFingerprints kPinset_swehackCom = {
661   sizeof(kPinset_swehackCom_Data) / sizeof(const char*),
662   kPinset_swehackCom_Data
663 };
664 
665 static const char* const kPinset_ncsccs_Data[] = {
666   kCOMODO_ECC_Certification_AuthorityFingerprint,
667   kDigiCert_Assured_ID_Root_CAFingerprint,
668   kDigiCert_High_Assurance_EV_Root_CAFingerprint,
669   kBaltimore_CyberTrust_RootFingerprint,
670   kGOOGLE_PIN_LetsEncryptAuthorityPrimary_X1_X3Fingerprint,
671   kCOMODO_RSA_Certification_AuthorityFingerprint,
672   kAddTrust_External_RootFingerprint,
673   kDigiCert_Global_Root_CAFingerprint,
674   kGOOGLE_PIN_LetsEncryptAuthorityBackup_X2_X4Fingerprint,
675 };
676 static const StaticFingerprints kPinset_ncsccs = {
677   sizeof(kPinset_ncsccs_Data) / sizeof(const char*),
678   kPinset_ncsccs_Data
679 };
680 
681 static const char* const kPinset_tumblr_Data[] = {
682   kDigiCert_High_Assurance_EV_Root_CAFingerprint,
683   kTumblrBackupFingerprint,
684   kGOOGLE_PIN_DigiCertSHA2HighAssuranceServerCAFingerprint,
685 };
686 static const StaticFingerprints kPinset_tumblr = {
687   sizeof(kPinset_tumblr_Data) / sizeof(const char*),
688   kPinset_tumblr_Data
689 };
690 
691 /* Domainlist */
692 struct TransportSecurityPreload {
693   const char* mHost;
694   const bool mIncludeSubdomains;
695   const bool mTestMode;
696   const bool mIsMoz;
697   const int32_t mId;
698   const StaticFingerprints* pinset;
699 };
700 
701 /* Sort hostnames for binary search. */
702 static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
703   { "0.me.uk", true, true, false, -1, &kPinset_ncsccs },
704   { "2mdn.net", true, false, false, -1, &kPinset_google_root_pems },
705   { "accounts.firefox.com", true, false, true, 4, &kPinset_mozilla_services },
706   { "accounts.google.com", true, false, false, -1, &kPinset_google_root_pems },
707   { "addons.mozilla.net", true, false, true, 2, &kPinset_mozilla },
708   { "addons.mozilla.org", true, false, true, 1, &kPinset_mozilla },
709   { "admin.google.com", true, false, false, -1, &kPinset_google_root_pems },
710   { "android.com", true, false, false, -1, &kPinset_google_root_pems },
711   { "api.accounts.firefox.com", true, false, true, 5, &kPinset_mozilla_services },
712   { "api.twitter.com", true, false, false, -1, &kPinset_twitterCDN },
713   { "apis.google.com", true, false, false, -1, &kPinset_google_root_pems },
714   { "appengine.google.com", true, false, false, -1, &kPinset_google_root_pems },
715   { "apps.facebook.com", true, false, false, -1, &kPinset_facebook },
716   { "appspot.com", true, false, false, -1, &kPinset_google_root_pems },
717   { "at.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
718   { "au.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
719   { "aus4.mozilla.org", true, true, true, 3, &kPinset_mozilla },
720   { "aus5.mozilla.org", true, true, true, 7, &kPinset_mozilla },
721   { "az.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
722   { "be.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
723   { "bi.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
724   { "blog.torproject.org", true, false, false, -1, &kPinset_tor },
725   { "blogger.com", true, false, false, -1, &kPinset_google_root_pems },
726   { "blogspot.com", true, false, false, -1, &kPinset_google_root_pems },
727   { "br.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
728   { "bugs.chromium.org", true, false, false, -1, &kPinset_google_root_pems },
729   { "build.chromium.org", true, false, false, -1, &kPinset_google_root_pems },
730   { "business.facebook.com", true, false, false, -1, &kPinset_facebook },
731   { "business.twitter.com", true, false, false, -1, &kPinset_twitterCom },
732   { "ca.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
733   { "cd.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
734   { "cdn.ampproject.org", true, false, false, -1, &kPinset_google_root_pems },
735   { "cdn.mozilla.net", true, false, true, -1, &kPinset_mozilla },
736   { "cdn.mozilla.org", true, false, true, -1, &kPinset_mozilla },
737   { "cg.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
738   { "ch.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
739   { "chart.apis.google.com", true, false, false, -1, &kPinset_google_root_pems },
740   { "check.torproject.org", true, false, false, -1, &kPinset_tor },
741   { "checkout.google.com", true, false, false, -1, &kPinset_google_root_pems },
742   { "chfr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
743   { "chit.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
744   { "chrome-devtools-frontend.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
745   { "chrome.com", true, false, false, -1, &kPinset_google_root_pems },
746   { "chrome.google.com", true, false, false, -1, &kPinset_google_root_pems },
747   { "chromiumbugs.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
748   { "chromiumcodereview.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
749   { "cl.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
750   { "cloud.google.com", true, false, false, -1, &kPinset_google_root_pems },
751   { "cn.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
752   { "co.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
753   { "code.facebook.com", true, false, false, -1, &kPinset_facebook },
754   { "code.google.com", true, false, false, -1, &kPinset_google_root_pems },
755   { "codereview.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
756   { "codereview.chromium.org", true, false, false, -1, &kPinset_google_root_pems },
757   { "contributor.google.com", true, false, false, -1, &kPinset_google_root_pems },
758   { "cr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
759   { "crbug.com", true, false, false, -1, &kPinset_google_root_pems },
760   { "crosbug.com", true, false, false, -1, &kPinset_google_root_pems },
761   { "crrev.com", true, false, false, -1, &kPinset_google_root_pems },
762   { "ct.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
763   { "de.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
764   { "dev.twitter.com", true, false, false, -1, &kPinset_twitterCom },
765   { "developer.android.com", true, false, false, -1, &kPinset_google_root_pems },
766   { "developers.facebook.com", true, false, false, -1, &kPinset_facebook },
767   { "dist.torproject.org", true, false, false, -1, &kPinset_tor },
768   { "dk.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
769   { "dl.google.com", true, false, false, -1, &kPinset_google_root_pems },
770   { "dns.google.com", true, false, false, -1, &kPinset_google_root_pems },
771   { "do.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
772   { "docs.google.com", true, false, false, -1, &kPinset_google_root_pems },
773   { "domains.google.com", true, false, false, -1, &kPinset_google_root_pems },
774   { "doubleclick.net", true, false, false, -1, &kPinset_google_root_pems },
775   { "drive.google.com", true, false, false, -1, &kPinset_google_root_pems },
776   { "dropbox.com", true, false, false, -1, &kPinset_dropbox },
777   { "dropboxstatic.com", false, true, false, -1, &kPinset_dropbox },
778   { "dropboxusercontent.com", false, true, false, -1, &kPinset_dropbox },
779   { "edit.yahoo.com", true, true, false, -1, &kPinset_yahoo },
780   { "en-maktoob.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
781   { "encrypted.google.com", true, false, false, -1, &kPinset_google_root_pems },
782   { "es.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
783   { "espanol.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
784   { "exclude-subdomains.pinning.example.com", false, false, false, 0, &kPinset_mozilla_test },
785   { "facebook.com", false, false, false, -1, &kPinset_facebook },
786   { "fi.google.com", true, false, false, -1, &kPinset_google_root_pems },
787   { "fi.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
788   { "firebaseio.com", true, false, false, -1, &kPinset_google_root_pems },
789   { "fj.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
790   { "fr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
791   { "g.co", true, false, false, -1, &kPinset_google_root_pems },
792   { "g4w.co", true, false, false, -1, &kPinset_google_root_pems },
793   { "ggpht.com", true, false, false, -1, &kPinset_google_root_pems },
794   { "gl.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
795   { "glass.google.com", true, false, false, -1, &kPinset_google_root_pems },
796   { "gm.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
797   { "gmail.com", false, false, false, -1, &kPinset_google_root_pems },
798   { "goo.gl", true, false, false, -1, &kPinset_google_root_pems },
799   { "google", true, false, false, -1, &kPinset_google_root_pems },
800   { "google-analytics.com", true, false, false, -1, &kPinset_google_root_pems },
801   { "google.ac", true, false, false, -1, &kPinset_google_root_pems },
802   { "google.ad", true, false, false, -1, &kPinset_google_root_pems },
803   { "google.ae", true, false, false, -1, &kPinset_google_root_pems },
804   { "google.af", true, false, false, -1, &kPinset_google_root_pems },
805   { "google.ag", true, false, false, -1, &kPinset_google_root_pems },
806   { "google.am", true, false, false, -1, &kPinset_google_root_pems },
807   { "google.as", true, false, false, -1, &kPinset_google_root_pems },
808   { "google.at", true, false, false, -1, &kPinset_google_root_pems },
809   { "google.az", true, false, false, -1, &kPinset_google_root_pems },
810   { "google.ba", true, false, false, -1, &kPinset_google_root_pems },
811   { "google.be", true, false, false, -1, &kPinset_google_root_pems },
812   { "google.bf", true, false, false, -1, &kPinset_google_root_pems },
813   { "google.bg", true, false, false, -1, &kPinset_google_root_pems },
814   { "google.bi", true, false, false, -1, &kPinset_google_root_pems },
815   { "google.bj", true, false, false, -1, &kPinset_google_root_pems },
816   { "google.bs", true, false, false, -1, &kPinset_google_root_pems },
817   { "google.by", true, false, false, -1, &kPinset_google_root_pems },
818   { "google.ca", true, false, false, -1, &kPinset_google_root_pems },
819   { "google.cat", true, false, false, -1, &kPinset_google_root_pems },
820   { "google.cc", true, false, false, -1, &kPinset_google_root_pems },
821   { "google.cd", true, false, false, -1, &kPinset_google_root_pems },
822   { "google.cf", true, false, false, -1, &kPinset_google_root_pems },
823   { "google.cg", true, false, false, -1, &kPinset_google_root_pems },
824   { "google.ch", true, false, false, -1, &kPinset_google_root_pems },
825   { "google.ci", true, false, false, -1, &kPinset_google_root_pems },
826   { "google.cl", true, false, false, -1, &kPinset_google_root_pems },
827   { "google.cm", true, false, false, -1, &kPinset_google_root_pems },
828   { "google.cn", true, false, false, -1, &kPinset_google_root_pems },
829   { "google.co.ao", true, false, false, -1, &kPinset_google_root_pems },
830   { "google.co.bw", true, false, false, -1, &kPinset_google_root_pems },
831   { "google.co.ck", true, false, false, -1, &kPinset_google_root_pems },
832   { "google.co.cr", true, false, false, -1, &kPinset_google_root_pems },
833   { "google.co.hu", true, false, false, -1, &kPinset_google_root_pems },
834   { "google.co.id", true, false, false, -1, &kPinset_google_root_pems },
835   { "google.co.il", true, false, false, -1, &kPinset_google_root_pems },
836   { "google.co.im", true, false, false, -1, &kPinset_google_root_pems },
837   { "google.co.in", true, false, false, -1, &kPinset_google_root_pems },
838   { "google.co.je", true, false, false, -1, &kPinset_google_root_pems },
839   { "google.co.jp", true, false, false, -1, &kPinset_google_root_pems },
840   { "google.co.ke", true, false, false, -1, &kPinset_google_root_pems },
841   { "google.co.kr", true, false, false, -1, &kPinset_google_root_pems },
842   { "google.co.ls", true, false, false, -1, &kPinset_google_root_pems },
843   { "google.co.ma", true, false, false, -1, &kPinset_google_root_pems },
844   { "google.co.mz", true, false, false, -1, &kPinset_google_root_pems },
845   { "google.co.nz", true, false, false, -1, &kPinset_google_root_pems },
846   { "google.co.th", true, false, false, -1, &kPinset_google_root_pems },
847   { "google.co.tz", true, false, false, -1, &kPinset_google_root_pems },
848   { "google.co.ug", true, false, false, -1, &kPinset_google_root_pems },
849   { "google.co.uk", true, false, false, -1, &kPinset_google_root_pems },
850   { "google.co.uz", true, false, false, -1, &kPinset_google_root_pems },
851   { "google.co.ve", true, false, false, -1, &kPinset_google_root_pems },
852   { "google.co.vi", true, false, false, -1, &kPinset_google_root_pems },
853   { "google.co.za", true, false, false, -1, &kPinset_google_root_pems },
854   { "google.co.zm", true, false, false, -1, &kPinset_google_root_pems },
855   { "google.co.zw", true, false, false, -1, &kPinset_google_root_pems },
856   { "google.com", true, false, false, -1, &kPinset_google_root_pems },
857   { "google.com.af", true, false, false, -1, &kPinset_google_root_pems },
858   { "google.com.ag", true, false, false, -1, &kPinset_google_root_pems },
859   { "google.com.ai", true, false, false, -1, &kPinset_google_root_pems },
860   { "google.com.ar", true, false, false, -1, &kPinset_google_root_pems },
861   { "google.com.au", true, false, false, -1, &kPinset_google_root_pems },
862   { "google.com.bd", true, false, false, -1, &kPinset_google_root_pems },
863   { "google.com.bh", true, false, false, -1, &kPinset_google_root_pems },
864   { "google.com.bn", true, false, false, -1, &kPinset_google_root_pems },
865   { "google.com.bo", true, false, false, -1, &kPinset_google_root_pems },
866   { "google.com.br", true, false, false, -1, &kPinset_google_root_pems },
867   { "google.com.by", true, false, false, -1, &kPinset_google_root_pems },
868   { "google.com.bz", true, false, false, -1, &kPinset_google_root_pems },
869   { "google.com.cn", true, false, false, -1, &kPinset_google_root_pems },
870   { "google.com.co", true, false, false, -1, &kPinset_google_root_pems },
871   { "google.com.cu", true, false, false, -1, &kPinset_google_root_pems },
872   { "google.com.cy", true, false, false, -1, &kPinset_google_root_pems },
873   { "google.com.do", true, false, false, -1, &kPinset_google_root_pems },
874   { "google.com.ec", true, false, false, -1, &kPinset_google_root_pems },
875   { "google.com.eg", true, false, false, -1, &kPinset_google_root_pems },
876   { "google.com.et", true, false, false, -1, &kPinset_google_root_pems },
877   { "google.com.fj", true, false, false, -1, &kPinset_google_root_pems },
878   { "google.com.ge", true, false, false, -1, &kPinset_google_root_pems },
879   { "google.com.gh", true, false, false, -1, &kPinset_google_root_pems },
880   { "google.com.gi", true, false, false, -1, &kPinset_google_root_pems },
881   { "google.com.gr", true, false, false, -1, &kPinset_google_root_pems },
882   { "google.com.gt", true, false, false, -1, &kPinset_google_root_pems },
883   { "google.com.hk", true, false, false, -1, &kPinset_google_root_pems },
884   { "google.com.iq", true, false, false, -1, &kPinset_google_root_pems },
885   { "google.com.jm", true, false, false, -1, &kPinset_google_root_pems },
886   { "google.com.jo", true, false, false, -1, &kPinset_google_root_pems },
887   { "google.com.kh", true, false, false, -1, &kPinset_google_root_pems },
888   { "google.com.kw", true, false, false, -1, &kPinset_google_root_pems },
889   { "google.com.lb", true, false, false, -1, &kPinset_google_root_pems },
890   { "google.com.ly", true, false, false, -1, &kPinset_google_root_pems },
891   { "google.com.mt", true, false, false, -1, &kPinset_google_root_pems },
892   { "google.com.mx", true, false, false, -1, &kPinset_google_root_pems },
893   { "google.com.my", true, false, false, -1, &kPinset_google_root_pems },
894   { "google.com.na", true, false, false, -1, &kPinset_google_root_pems },
895   { "google.com.nf", true, false, false, -1, &kPinset_google_root_pems },
896   { "google.com.ng", true, false, false, -1, &kPinset_google_root_pems },
897   { "google.com.ni", true, false, false, -1, &kPinset_google_root_pems },
898   { "google.com.np", true, false, false, -1, &kPinset_google_root_pems },
899   { "google.com.nr", true, false, false, -1, &kPinset_google_root_pems },
900   { "google.com.om", true, false, false, -1, &kPinset_google_root_pems },
901   { "google.com.pa", true, false, false, -1, &kPinset_google_root_pems },
902   { "google.com.pe", true, false, false, -1, &kPinset_google_root_pems },
903   { "google.com.ph", true, false, false, -1, &kPinset_google_root_pems },
904   { "google.com.pk", true, false, false, -1, &kPinset_google_root_pems },
905   { "google.com.pl", true, false, false, -1, &kPinset_google_root_pems },
906   { "google.com.pr", true, false, false, -1, &kPinset_google_root_pems },
907   { "google.com.py", true, false, false, -1, &kPinset_google_root_pems },
908   { "google.com.qa", true, false, false, -1, &kPinset_google_root_pems },
909   { "google.com.ru", true, false, false, -1, &kPinset_google_root_pems },
910   { "google.com.sa", true, false, false, -1, &kPinset_google_root_pems },
911   { "google.com.sb", true, false, false, -1, &kPinset_google_root_pems },
912   { "google.com.sg", true, false, false, -1, &kPinset_google_root_pems },
913   { "google.com.sl", true, false, false, -1, &kPinset_google_root_pems },
914   { "google.com.sv", true, false, false, -1, &kPinset_google_root_pems },
915   { "google.com.tj", true, false, false, -1, &kPinset_google_root_pems },
916   { "google.com.tn", true, false, false, -1, &kPinset_google_root_pems },
917   { "google.com.tr", true, false, false, -1, &kPinset_google_root_pems },
918   { "google.com.tw", true, false, false, -1, &kPinset_google_root_pems },
919   { "google.com.ua", true, false, false, -1, &kPinset_google_root_pems },
920   { "google.com.uy", true, false, false, -1, &kPinset_google_root_pems },
921   { "google.com.vc", true, false, false, -1, &kPinset_google_root_pems },
922   { "google.com.ve", true, false, false, -1, &kPinset_google_root_pems },
923   { "google.com.vn", true, false, false, -1, &kPinset_google_root_pems },
924   { "google.cv", true, false, false, -1, &kPinset_google_root_pems },
925   { "google.cz", true, false, false, -1, &kPinset_google_root_pems },
926   { "google.de", true, false, false, -1, &kPinset_google_root_pems },
927   { "google.dj", true, false, false, -1, &kPinset_google_root_pems },
928   { "google.dk", true, false, false, -1, &kPinset_google_root_pems },
929   { "google.dm", true, false, false, -1, &kPinset_google_root_pems },
930   { "google.dz", true, false, false, -1, &kPinset_google_root_pems },
931   { "google.ee", true, false, false, -1, &kPinset_google_root_pems },
932   { "google.es", true, false, false, -1, &kPinset_google_root_pems },
933   { "google.fi", true, false, false, -1, &kPinset_google_root_pems },
934   { "google.fm", true, false, false, -1, &kPinset_google_root_pems },
935   { "google.fr", true, false, false, -1, &kPinset_google_root_pems },
936   { "google.ga", true, false, false, -1, &kPinset_google_root_pems },
937   { "google.ge", true, false, false, -1, &kPinset_google_root_pems },
938   { "google.gg", true, false, false, -1, &kPinset_google_root_pems },
939   { "google.gl", true, false, false, -1, &kPinset_google_root_pems },
940   { "google.gm", true, false, false, -1, &kPinset_google_root_pems },
941   { "google.gp", true, false, false, -1, &kPinset_google_root_pems },
942   { "google.gr", true, false, false, -1, &kPinset_google_root_pems },
943   { "google.gy", true, false, false, -1, &kPinset_google_root_pems },
944   { "google.hk", true, false, false, -1, &kPinset_google_root_pems },
945   { "google.hn", true, false, false, -1, &kPinset_google_root_pems },
946   { "google.hr", true, false, false, -1, &kPinset_google_root_pems },
947   { "google.ht", true, false, false, -1, &kPinset_google_root_pems },
948   { "google.hu", true, false, false, -1, &kPinset_google_root_pems },
949   { "google.ie", true, false, false, -1, &kPinset_google_root_pems },
950   { "google.im", true, false, false, -1, &kPinset_google_root_pems },
951   { "google.info", true, false, false, -1, &kPinset_google_root_pems },
952   { "google.iq", true, false, false, -1, &kPinset_google_root_pems },
953   { "google.is", true, false, false, -1, &kPinset_google_root_pems },
954   { "google.it", true, false, false, -1, &kPinset_google_root_pems },
955   { "google.it.ao", true, false, false, -1, &kPinset_google_root_pems },
956   { "google.je", true, false, false, -1, &kPinset_google_root_pems },
957   { "google.jo", true, false, false, -1, &kPinset_google_root_pems },
958   { "google.jobs", true, false, false, -1, &kPinset_google_root_pems },
959   { "google.jp", true, false, false, -1, &kPinset_google_root_pems },
960   { "google.kg", true, false, false, -1, &kPinset_google_root_pems },
961   { "google.ki", true, false, false, -1, &kPinset_google_root_pems },
962   { "google.kz", true, false, false, -1, &kPinset_google_root_pems },
963   { "google.la", true, false, false, -1, &kPinset_google_root_pems },
964   { "google.li", true, false, false, -1, &kPinset_google_root_pems },
965   { "google.lk", true, false, false, -1, &kPinset_google_root_pems },
966   { "google.lt", true, false, false, -1, &kPinset_google_root_pems },
967   { "google.lu", true, false, false, -1, &kPinset_google_root_pems },
968   { "google.lv", true, false, false, -1, &kPinset_google_root_pems },
969   { "google.md", true, false, false, -1, &kPinset_google_root_pems },
970   { "google.me", true, false, false, -1, &kPinset_google_root_pems },
971   { "google.mg", true, false, false, -1, &kPinset_google_root_pems },
972   { "google.mk", true, false, false, -1, &kPinset_google_root_pems },
973   { "google.ml", true, false, false, -1, &kPinset_google_root_pems },
974   { "google.mn", true, false, false, -1, &kPinset_google_root_pems },
975   { "google.ms", true, false, false, -1, &kPinset_google_root_pems },
976   { "google.mu", true, false, false, -1, &kPinset_google_root_pems },
977   { "google.mv", true, false, false, -1, &kPinset_google_root_pems },
978   { "google.mw", true, false, false, -1, &kPinset_google_root_pems },
979   { "google.ne", true, false, false, -1, &kPinset_google_root_pems },
980   { "google.ne.jp", true, false, false, -1, &kPinset_google_root_pems },
981   { "google.net", true, false, false, -1, &kPinset_google_root_pems },
982   { "google.nl", true, false, false, -1, &kPinset_google_root_pems },
983   { "google.no", true, false, false, -1, &kPinset_google_root_pems },
984   { "google.nr", true, false, false, -1, &kPinset_google_root_pems },
985   { "google.nu", true, false, false, -1, &kPinset_google_root_pems },
986   { "google.off.ai", true, false, false, -1, &kPinset_google_root_pems },
987   { "google.pk", true, false, false, -1, &kPinset_google_root_pems },
988   { "google.pl", true, false, false, -1, &kPinset_google_root_pems },
989   { "google.pn", true, false, false, -1, &kPinset_google_root_pems },
990   { "google.ps", true, false, false, -1, &kPinset_google_root_pems },
991   { "google.pt", true, false, false, -1, &kPinset_google_root_pems },
992   { "google.ro", true, false, false, -1, &kPinset_google_root_pems },
993   { "google.rs", true, false, false, -1, &kPinset_google_root_pems },
994   { "google.ru", true, false, false, -1, &kPinset_google_root_pems },
995   { "google.rw", true, false, false, -1, &kPinset_google_root_pems },
996   { "google.sc", true, false, false, -1, &kPinset_google_root_pems },
997   { "google.se", true, false, false, -1, &kPinset_google_root_pems },
998   { "google.sh", true, false, false, -1, &kPinset_google_root_pems },
999   { "google.si", true, false, false, -1, &kPinset_google_root_pems },
1000   { "google.sk", true, false, false, -1, &kPinset_google_root_pems },
1001   { "google.sm", true, false, false, -1, &kPinset_google_root_pems },
1002   { "google.sn", true, false, false, -1, &kPinset_google_root_pems },
1003   { "google.so", true, false, false, -1, &kPinset_google_root_pems },
1004   { "google.st", true, false, false, -1, &kPinset_google_root_pems },
1005   { "google.td", true, false, false, -1, &kPinset_google_root_pems },
1006   { "google.tg", true, false, false, -1, &kPinset_google_root_pems },
1007   { "google.tk", true, false, false, -1, &kPinset_google_root_pems },
1008   { "google.tl", true, false, false, -1, &kPinset_google_root_pems },
1009   { "google.tm", true, false, false, -1, &kPinset_google_root_pems },
1010   { "google.tn", true, false, false, -1, &kPinset_google_root_pems },
1011   { "google.to", true, false, false, -1, &kPinset_google_root_pems },
1012   { "google.tt", true, false, false, -1, &kPinset_google_root_pems },
1013   { "google.us", true, false, false, -1, &kPinset_google_root_pems },
1014   { "google.uz", true, false, false, -1, &kPinset_google_root_pems },
1015   { "google.vg", true, false, false, -1, &kPinset_google_root_pems },
1016   { "google.vu", true, false, false, -1, &kPinset_google_root_pems },
1017   { "google.ws", true, false, false, -1, &kPinset_google_root_pems },
1018   { "googleadservices.com", true, false, false, -1, &kPinset_google_root_pems },
1019   { "googleapis.com", true, false, false, -1, &kPinset_google_root_pems },
1020   { "googlecode.com", true, false, false, -1, &kPinset_google_root_pems },
1021   { "googlecommerce.com", true, false, false, -1, &kPinset_google_root_pems },
1022   { "googlegroups.com", true, false, false, -1, &kPinset_google_root_pems },
1023   { "googlemail.com", false, false, false, -1, &kPinset_google_root_pems },
1024   { "googleplex.com", true, false, false, -1, &kPinset_google_root_pems },
1025   { "googlesource.com", true, false, false, -1, &kPinset_google_root_pems },
1026   { "googlesyndication.com", true, false, false, -1, &kPinset_google_root_pems },
1027   { "googletagmanager.com", true, false, false, -1, &kPinset_google_root_pems },
1028   { "googletagservices.com", true, false, false, -1, &kPinset_google_root_pems },
1029   { "googleusercontent.com", true, false, false, -1, &kPinset_google_root_pems },
1030   { "googlevideo.com", true, false, false, -1, &kPinset_google_root_pems },
1031   { "googleweblight.com", true, false, false, -1, &kPinset_google_root_pems },
1032   { "goto.google.com", true, false, false, -1, &kPinset_google_root_pems },
1033   { "gr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1034   { "groups.google.com", true, false, false, -1, &kPinset_google_root_pems },
1035   { "gstatic.cn", true, false, false, -1, &kPinset_google_root_pems },
1036   { "gstatic.com", true, false, false, -1, &kPinset_google_root_pems },
1037   { "gvt1.com", true, false, false, -1, &kPinset_google_root_pems },
1038   { "gvt2.com", true, false, false, -1, &kPinset_google_root_pems },
1039   { "gvt3.com", true, false, false, -1, &kPinset_google_root_pems },
1040   { "hangouts.google.com", true, false, false, -1, &kPinset_google_root_pems },
1041   { "history.google.com", true, false, false, -1, &kPinset_google_root_pems },
1042   { "hk.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1043   { "hn.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1044   { "hostedtalkgadget.google.com", true, false, false, -1, &kPinset_google_root_pems },
1045   { "hu.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1046   { "id.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1047   { "ie.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1048   { "in.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1049   { "inbox.google.com", true, false, false, -1, &kPinset_google_root_pems },
1050   { "include-subdomains.pinning.example.com", true, false, false, -1, &kPinset_mozilla_test },
1051   { "it.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1052   { "kr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1053   { "kz.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1054   { "li.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1055   { "login.corp.google.com", true, false, false, -1, &kPinset_google_root_pems },
1056   { "login.yahoo.com", true, true, false, -1, &kPinset_yahoo },
1057   { "lt.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1058   { "lu.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1059   { "lv.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1060   { "m.facebook.com", true, false, false, -1, &kPinset_facebook },
1061   { "mail-settings.google.com", true, false, false, -1, &kPinset_google_root_pems },
1062   { "mail.google.com", true, false, false, -1, &kPinset_google_root_pems },
1063   { "mail.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1064   { "maktoob.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1065   { "malaysia.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1066   { "market.android.com", true, false, false, -1, &kPinset_google_root_pems },
1067   { "mbasic.facebook.com", true, false, false, -1, &kPinset_facebook },
1068   { "meet.google.com", true, false, false, -1, &kPinset_google_root_pems },
1069   { "messenger.com", false, false, false, -1, &kPinset_facebook },
1070   { "mobile.twitter.com", true, false, false, -1, &kPinset_twitterCom },
1071   { "mt.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1072   { "mtouch.facebook.com", true, false, false, -1, &kPinset_facebook },
1073   { "mu.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1074   { "mw.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1075   { "mx.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1076   { "myaccount.google.com", true, false, false, -1, &kPinset_google_root_pems },
1077   { "myactivity.google.com", true, false, false, -1, &kPinset_google_root_pems },
1078   { "ncsccs.com", true, true, false, -1, &kPinset_ncsccs },
1079   { "ni.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1080   { "nl.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1081   { "no.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1082   { "np.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1083   { "nz.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1084   { "oauth.twitter.com", true, false, false, -1, &kPinset_twitterCom },
1085   { "pa.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1086   { "passwords.google.com", true, false, false, -1, &kPinset_google_root_pems },
1087   { "payments.google.com", true, false, false, -1, &kPinset_google_root_pems },
1088   { "pe.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1089   { "ph.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1090   { "pinning-test.badssl.com", true, false, false, -1, &kPinset_test },
1091   { "pinningtest.appspot.com", true, false, false, -1, &kPinset_test },
1092   { "pixel.facebook.com", true, false, false, -1, &kPinset_facebook },
1093   { "pixel.google.com", true, false, false, -1, &kPinset_google_root_pems },
1094   { "pk.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1095   { "pl.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1096   { "platform.twitter.com", true, false, false, -1, &kPinset_twitterCDN },
1097   { "play.google.com", true, false, false, -1, &kPinset_google_root_pems },
1098   { "plus.google.com", true, false, false, -1, &kPinset_google_root_pems },
1099   { "plus.sandbox.google.com", true, false, false, -1, &kPinset_google_root_pems },
1100   { "pr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1101   { "profiles.google.com", true, false, false, -1, &kPinset_google_root_pems },
1102   { "py.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1103   { "qc.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1104   { "research.facebook.com", true, false, false, -1, &kPinset_facebook },
1105   { "ro.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1106   { "ru.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1107   { "rw.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1108   { "script.google.com", true, false, false, -1, &kPinset_google_root_pems },
1109   { "se.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1110   { "search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1111   { "secure.facebook.com", true, false, false, -1, &kPinset_facebook },
1112   { "security.google.com", true, false, false, -1, &kPinset_google_root_pems },
1113   { "services.mozilla.com", true, false, true, 6, &kPinset_mozilla_services },
1114   { "sg.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1115   { "sirburton.com", true, true, false, -1, &kPinset_ncsccs },
1116   { "sites.google.com", true, false, false, -1, &kPinset_google_root_pems },
1117   { "spideroak.com", true, false, false, -1, &kPinset_spideroak },
1118   { "spreadsheets.google.com", true, false, false, -1, &kPinset_google_root_pems },
1119   { "static.googleadsserving.cn", true, false, false, -1, &kPinset_google_root_pems },
1120   { "stats.g.doubleclick.net", true, false, false, -1, &kPinset_google_root_pems },
1121   { "sv.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1122   { "swehack.org", true, true, false, -1, &kPinset_swehackCom },
1123   { "t.facebook.com", true, false, false, -1, &kPinset_facebook },
1124   { "tablet.facebook.com", true, false, false, -1, &kPinset_facebook },
1125   { "talk.google.com", true, false, false, -1, &kPinset_google_root_pems },
1126   { "talkgadget.google.com", true, false, false, -1, &kPinset_google_root_pems },
1127   { "test-mode.pinning.example.com", true, true, false, -1, &kPinset_mozilla_test },
1128   { "th.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1129   { "themathematician.uk", true, true, false, -1, &kPinset_ncsccs },
1130   { "torproject.org", false, false, false, -1, &kPinset_tor },
1131   { "touch.facebook.com", true, false, false, -1, &kPinset_facebook },
1132   { "tr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1133   { "translate.googleapis.com", true, false, false, -1, &kPinset_google_root_pems },
1134   { "tv.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1135   { "tw.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1136   { "twimg.com", true, false, false, -1, &kPinset_twitterCDN },
1137   { "twitter.com", true, false, false, -1, &kPinset_twitterCDN },
1138   { "ua.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1139   { "uk.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1140   { "upload.facebook.com", true, false, false, -1, &kPinset_facebook },
1141   { "urchin.com", true, false, false, -1, &kPinset_google_root_pems },
1142   { "uy.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1143   { "uz.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1144   { "ve.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1145   { "vn.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1146   { "w-spotlight.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1147   { "wallet.google.com", true, false, false, -1, &kPinset_google_root_pems },
1148   { "webfilings-eu-mirror.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1149   { "webfilings-eu.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1150   { "webfilings-mirror-hrd.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1151   { "webfilings.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1152   { "wf-bigsky-master.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1153   { "wf-demo-eu.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1154   { "wf-demo-hrd.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1155   { "wf-dogfood-hrd.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1156   { "wf-pentest.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1157   { "wf-staging-hr.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1158   { "wf-training-hrd.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1159   { "wf-training-master.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1160   { "wf-trial-hrd.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1161   { "withgoogle.com", true, false, false, -1, &kPinset_google_root_pems },
1162   { "withyoutube.com", true, false, false, -1, &kPinset_google_root_pems },
1163   { "www.dropbox.com", true, false, false, -1, &kPinset_dropbox },
1164   { "www.facebook.com", true, false, false, -1, &kPinset_facebook },
1165   { "www.gmail.com", false, false, false, -1, &kPinset_google_root_pems },
1166   { "www.googlegroups.com", true, false, false, -1, &kPinset_google_root_pems },
1167   { "www.googlemail.com", false, false, false, -1, &kPinset_google_root_pems },
1168   { "www.messenger.com", true, false, false, -1, &kPinset_facebook },
1169   { "www.torproject.org", true, false, false, -1, &kPinset_tor },
1170   { "www.tumblr.com", false, true, false, -1, &kPinset_tumblr },
1171   { "www.twitter.com", true, false, false, -1, &kPinset_twitterCom },
1172   { "xa.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1173   { "xbrlsuccess.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
1174   { "xn--7xa.google.com", true, false, false, -1, &kPinset_google_root_pems },
1175   { "youtu.be", true, false, false, -1, &kPinset_google_root_pems },
1176   { "youtube-nocookie.com", true, false, false, -1, &kPinset_google_root_pems },
1177   { "youtube.com", true, false, false, -1, &kPinset_google_root_pems },
1178   { "ytimg.com", true, false, false, -1, &kPinset_google_root_pems },
1179   { "za.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1180   { "zh.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
1181 };
1182 
1183 // Pinning Preload List Length = 478;
1184 
1185 static const int32_t kUnknownId = -1;
1186 
1187 static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1533589411386000);
1188