StaticHPKPins.h 59 KB
Newer Older
1
2
3
4
5
6
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/*****************************************************************************/
/* 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
/* AffirmTrust Commercial */
19
static const char kAffirmTrust_CommercialFingerprint[] =
20
  "bEZLmlsjOl6HTadlwm8EUBDS3c/0V5TwtMfkqvpQFJU=";
21
22

/* AffirmTrust Networking */
23
static const char kAffirmTrust_NetworkingFingerprint[] =
24
  "lAcq0/WPcPkwmOWl9sBMlscQvYSdgxhJGa6Q64kK5AA=";
25
26

/* AffirmTrust Premium */
27
static const char kAffirmTrust_PremiumFingerprint[] =
28
  "x/Q7TPW3FWgpT4IrU3YmBfbd0Vyt7Oc56eLDy6YenWc=";
29
30

/* AffirmTrust Premium ECC */
31
static const char kAffirmTrust_Premium_ECCFingerprint[] =
32
  "MhmwkRT/SVo+tusAwu/qs0ACrl8KVsdnnqCHo/oDfk8=";
33

34
/* Baltimore CyberTrust Root */
35
static const char kBaltimore_CyberTrust_RootFingerprint[] =
36
  "Y9mvm0exBk1JoQ57f9Vm28jKo5lFm/woKcVxrYxu80o=";
37

38
/* COMODO Certification Authority */
39
static const char kCOMODO_Certification_AuthorityFingerprint[] =
40
  "AG1751Vd2CAmRCxPGieoDomhmJy4ezREjtIZTBgZbV4=";
41

42
/* COMODO ECC Certification Authority */
43
static const char kCOMODO_ECC_Certification_AuthorityFingerprint[] =
44
  "58qRu/uxh4gFezqAcERupSkRYBlBAvfcw7mEjGPLnNU=";
45

46
/* COMODO RSA Certification Authority */
47
static const char kCOMODO_RSA_Certification_AuthorityFingerprint[] =
48
  "grX4Ta9HpZx6tSHkmCrvpApTQGo67CYDnvprLg5yRME=";
49

50
/* Comodo AAA Services root */
51
static const char kComodo_AAA_Services_rootFingerprint[] =
52
  "vRU+17BDT2iGsXvOi76E7TQMcTLXAqj0+jGPdW7L1vM=";
53

54
/* Cybertrust Global Root */
55
static const char kCybertrust_Global_RootFingerprint[] =
56
  "foeCwVDOOVL4AuY2AjpdPpW7XWjjPoWtsroXgSXOvxU=";
57

58
/* DST Root CA X3 */
59
static const char kDST_Root_CA_X3Fingerprint[] =
60
  "Vjs8r4z+80wjNcr1YKepWQboSIRi63WsWXhIMN+eWys=";
61

62
/* DigiCert Assured ID Root CA */
63
static const char kDigiCert_Assured_ID_Root_CAFingerprint[] =
64
  "I/Lt/z7ekCWanjD0Cvj5EqXls2lOaThEA0H2Bg4BT/o=";
65

66
/* DigiCert Assured ID Root G2 */
67
static const char kDigiCert_Assured_ID_Root_G2Fingerprint[] =
68
  "8ca6Zwz8iOTfUpc8rkIPCgid1HQUT+WAbEIAZOFZEik=";
69
70

/* DigiCert Assured ID Root G3 */
71
static const char kDigiCert_Assured_ID_Root_G3Fingerprint[] =
72
  "Fe7TOVlLME+M+Ee0dzcdjW/sYfTbKwGvWJ58U7Ncrkw=";
73

74
/* DigiCert Global Root CA */
75
static const char kDigiCert_Global_Root_CAFingerprint[] =
76
  "r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E=";
77

78
/* DigiCert Global Root G2 */
79
static const char kDigiCert_Global_Root_G2Fingerprint[] =
80
  "i7WTqTvh0OioIruIfFR4kMPnBqrS2rdiVPl/s2uC/CY=";
81
82

/* DigiCert Global Root G3 */
83
static const char kDigiCert_Global_Root_G3Fingerprint[] =
84
  "uUwZgwDOxcBXrQcntwu+kYFpkiVkOaezL0WYEZ3anJc=";
85

86
/* DigiCert High Assurance EV Root CA */
87
static const char kDigiCert_High_Assurance_EV_Root_CAFingerprint[] =
88
  "WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=";
89

90
/* DigiCert Trusted Root G4 */
91
static const char kDigiCert_Trusted_Root_G4Fingerprint[] =
92
  "Wd8xe/qfTwq3ylFNd3IpaqLHZbh2ZNCLluVzmeNkcpw=";
93

94
/* End Entity Test Cert */
95
static const char kEnd_Entity_Test_CertFingerprint[] =
96
  "VCIlmPM9NkgFQtrs4Oa5TeFcDu6MWRTKSNdePEhOgD8=";
97
98

/* Entrust Root Certification Authority */
99
static const char kEntrust_Root_Certification_AuthorityFingerprint[] =
100
  "bb+uANN7nNc/j7R95lkXrwDg3d9C286sIMF8AnXuIJU=";
101

102
/* Entrust Root Certification Authority - EC1 */
103
static const char kEntrust_Root_Certification_Authority___EC1Fingerprint[] =
104
  "/qK31kX7pz11PB7Jp4cMQOH3sMVh6Se5hb9xGGbjbyI=";
105
106

/* Entrust Root Certification Authority - G2 */
107
static const char kEntrust_Root_Certification_Authority___G2Fingerprint[] =
108
  "du6FkDdMcVQ3u8prumAo6t3i3G27uMP2EOhR8R0at/U=";
109

110
/* Entrust.net Premium 2048 Secure Server CA */
111
static const char kEntrust_net_Premium_2048_Secure_Server_CAFingerprint[] =
112
  "HqPF5D7WbC2imDpCpKebHpBnhs6fG1hiFBmgBGOofTg=";
113

114
/* FacebookBackup */
115
static const char kFacebookBackupFingerprint[] =
116
  "q4PO2G2cbkZhZ82+JgmRUyGMoAeozA+BSXVXQWB8XWQ=";
117

118
119
/* GOOGLE_PIN_AddTrustPublicCARoot */
static const char kGOOGLE_PIN_AddTrustPublicCARootFingerprint[] =
120
  "OGHXtpYfzbISBFb/b8LrdwSxp0G0vZM6g3b14ZFcppg=";
121
122
123

/* GOOGLE_PIN_AddTrustQualifiedCARoot */
static const char kGOOGLE_PIN_AddTrustQualifiedCARootFingerprint[] =
124
  "xzr8Lrp3DQy8HuQfJStS6Kk9ErctzOwDHY2DnL+Bink=";
125

126
/* GOOGLE_PIN_COMODORSADomainValidationSecureServerCA */
127
128
static const char kGOOGLE_PIN_COMODORSADomainValidationSecureServerCAFingerprint[] =
  "klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=";
129

130
/* GOOGLE_PIN_DigiCertECCSecureServerCA */
131
static const char kGOOGLE_PIN_DigiCertECCSecureServerCAFingerprint[] =
132
  "PZXN3lRAy+8tBKk2Ox6F7jIlnzr2Yzmwqc3JnyfXoCw=";
133

134
/* GOOGLE_PIN_Entrust_SSL */
135
static const char kGOOGLE_PIN_Entrust_SSLFingerprint[] =
136
  "nsxRNo6G40YPZsKV5JQt1TCA8nseQQr/LRqp1Oa8fnw=";
137

138
/* GOOGLE_PIN_GTECyberTrustGlobalRoot */
139
static const char kGOOGLE_PIN_GTECyberTrustGlobalRootFingerprint[] =
140
  "EGn6R6CqT4z3ERscrqNl7q7RC//zJmDe9uBhS/rnCHU=";
141

142
143
/* GOOGLE_PIN_GTSCA1O1 */
static const char kGOOGLE_PIN_GTSCA1O1Fingerprint[] =
144
  "YZPgTZ+woNCCCIW3LH2CxQeLzB/1m42QcCTBSdgayjs=";
145

146
147
/* GOOGLE_PIN_GeoTrustGlobal2 */
static const char kGOOGLE_PIN_GeoTrustGlobal2Fingerprint[] =
148
  "F3VaXClfPS1y5vAxofB/QAxYi55YKyLxfq4xoVkNEYU=";
149

150
/* GOOGLE_PIN_GoDaddySecure */
151
static const char kGOOGLE_PIN_GoDaddySecureFingerprint[] =
152
  "MrZLZnJ6IGPkBm87lYywqu5Xal7O/ZUzmbuIdHMdlYc=";
153

154
/* GOOGLE_PIN_GoogleG2 */
155
static const char kGOOGLE_PIN_GoogleG2Fingerprint[] =
156
  "7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=";
157

158
159
/* GOOGLE_PIN_GoogleG3 */
static const char kGOOGLE_PIN_GoogleG3Fingerprint[] =
160
  "f8NnEFZxQ4ExFOhSN7EiFWtiudZQVD2oY60uauV/n78=";
161

162
/* GOOGLE_PIN_RapidSSL */
163
static const char kGOOGLE_PIN_RapidSSLFingerprint[] =
164
  "lT09gPUeQfbYrlxRtpsHrjDblj9Rpz+u7ajfCrg4qDM=";
165

166
167
/* GOOGLE_PIN_SecureCertificateServices */
static const char kGOOGLE_PIN_SecureCertificateServicesFingerprint[] =
168
  "RpHL/ehKa2BS3b4VK7DCFq4lqG5XR4E9vA8UfzOFcL4=";
169

170
/* GOOGLE_PIN_SymantecClass3EVG3 */
171
static const char kGOOGLE_PIN_SymantecClass3EVG3Fingerprint[] =
172
  "gMxWOrX4PMQesK9qFNbYBxjBfjUvlkn/vN1n+L9lE5E=";
173

174
175
/* GOOGLE_PIN_TrustedCertificateServices */
static const char kGOOGLE_PIN_TrustedCertificateServicesFingerprint[] =
176
  "4tiR77c4ZpEF1TDeXtcuKyrD9KZweLU0mz/ayklvXrg=";
177

178
/* GOOGLE_PIN_UTNDATACorpSGC */
179
static const char kGOOGLE_PIN_UTNDATACorpSGCFingerprint[] =
180
  "QAL80xHQczFWfnG82XHkYEjI3OjRZZcRdTs9qiommvo=";
181

182
183
184
185
/* GOOGLE_PIN_UTNUSERFirstClientAuthenticationandEmail */
static const char kGOOGLE_PIN_UTNUSERFirstClientAuthenticationandEmailFingerprint[] =
  "Laj56jRU0hFGRko/nQKNxMf7tXscUsc8KwVyovWZotM=";

186
187
/* GOOGLE_PIN_UTNUSERFirstHardware */
static const char kGOOGLE_PIN_UTNUSERFirstHardwareFingerprint[] =
188
  "TUDnr0MEoJ3of7+YliBMBVFB4/gJsv5zO7IxD9+YoWI=";
189
190
191

/* GOOGLE_PIN_UTNUSERFirstObject */
static const char kGOOGLE_PIN_UTNUSERFirstObjectFingerprint[] =
192
  "D+FMJksXu28NZT56cOs2Pb9UvhWAOe3a5cJXEd9IwQM=";
193

194
/* GOOGLE_PIN_VeriSignClass1 */
195
static const char kGOOGLE_PIN_VeriSignClass1Fingerprint[] =
196
  "LclHC+Y+9KzxvYKGCUArt7h72ZY4pkOTTohoLRvowwg=";
197
198

/* GOOGLE_PIN_VeriSignClass2_G2 */
199
static const char kGOOGLE_PIN_VeriSignClass2_G2Fingerprint[] =
200
  "2oALgLKofTmeZvoZ1y/fSZg7R9jPMix8eVA6DH4o/q8=";
201

202
/* GOOGLE_PIN_VeriSignClass3_G2 */
203
static const char kGOOGLE_PIN_VeriSignClass3_G2Fingerprint[] =
204
  "AjyBzOjnxk+pQtPBUEhwfTXZu1uH9PVExb8bxWQ68vo=";
205

206
/* GOOGLE_PIN_VeriSignClass4_G3 */
207
static const char kGOOGLE_PIN_VeriSignClass4_G3Fingerprint[] =
208
  "VnuCEf0g09KD7gzXzgZyy52ZvFtIeljJ1U7Gf3fUqPU=";
209

210
/* GeoTrust Global CA */
211
static const char kGeoTrust_Global_CAFingerprint[] =
212
  "h6801m+z8v3zbgkRHpq6L29Esgfzhj89C1SyUCOQmqU=";
213
214

/* GeoTrust Primary Certification Authority */
215
static const char kGeoTrust_Primary_Certification_AuthorityFingerprint[] =
216
  "SQVGZiOrQXi+kqxcvWWE96HhfydlLVqFr4lQTqI5qqo=";
217
218

/* GeoTrust Primary Certification Authority - G2 */
219
static const char kGeoTrust_Primary_Certification_Authority___G2Fingerprint[] =
220
  "vPtEqrmtAhAVcGtBIep2HIHJ6IlnWQ9vlK50TciLePs=";
221
222

/* GeoTrust Primary Certification Authority - G3 */
223
static const char kGeoTrust_Primary_Certification_Authority___G3Fingerprint[] =
224
  "q5hJUnat8eyv8o81xTBIeB5cFxjaucjmelBPT2pRMo8=";
225
226

/* GeoTrust Universal CA */
227
static const char kGeoTrust_Universal_CAFingerprint[] =
228
  "lpkiXF3lLlbN0y3y6W0c/qWqPKC7Us2JM8I7XCdEOCA=";
229
230

/* GeoTrust Universal CA 2 */
231
static const char kGeoTrust_Universal_CA_2Fingerprint[] =
232
  "fKoDRlEkWQxgHlZ+UhSOlSwM/+iQAFMP4NlbbVDqrkE=";
233

234
/* GlobalSign ECC Root CA - R4 */
235
static const char kGlobalSign_ECC_Root_CA___R4Fingerprint[] =
236
  "CLOmM1/OXvSPjw5UOYbAf9GKOxImEp9hhku9W90fHMk=";
237
238

/* GlobalSign ECC Root CA - R5 */
239
static const char kGlobalSign_ECC_Root_CA___R5Fingerprint[] =
240
  "fg6tdrtoGdwvVFEahDVPboswe53YIFjqbABPAdndpd8=";
241

242
/* GlobalSign Root CA */
243
static const char kGlobalSign_Root_CAFingerprint[] =
244
  "K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q=";
245
246

/* GlobalSign Root CA - R2 */
247
static const char kGlobalSign_Root_CA___R2Fingerprint[] =
248
  "iie1VXtL7HzAMF+/PVPR9xzT80kQxdZeJ+zduCB3uj0=";
249
250

/* GlobalSign Root CA - R3 */
251
static const char kGlobalSign_Root_CA___R3Fingerprint[] =
252
  "cGuxAXyFXFkWm61cF4HPWX8S0srS9j0aSqN0k4AP+4A=";
253

254
/* Go Daddy Class 2 CA */
255
static const char kGo_Daddy_Class_2_CAFingerprint[] =
256
  "VjLZe/p3W/PJnd6lL8JVNBCGQBZynFLdZSTIqcO0SJ8=";
257
258

/* Go Daddy Root Certificate Authority - G2 */
259
static const char kGo_Daddy_Root_Certificate_Authority___G2Fingerprint[] =
260
  "Ko8tivDrEjiY90yGasP6ZpBU4jwXvHqVvQI0GS3GNdA=";
261

262
/* GoogleBackup2048 */
263
static const char kGoogleBackup2048Fingerprint[] =
264
  "IPMbDAjLVSGntGO3WP53X/zilCVndez5YJ2+vJvhJsA=";
265

266
/* Let's Encrypt Authority X3 */
267
static const char kLet_s_Encrypt_Authority_X3Fingerprint[] =
268
  "YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg=";
269
270

/* Let's Encrypt Authority X4 */
271
static const char kLet_s_Encrypt_Authority_X4Fingerprint[] =
272
  "sRHdihwgkaib1P1gxX8HFszlD+7/gTfNvuAybgLPNis=";
273

274
/* SpiderOak2 */
275
static const char kSpiderOak2Fingerprint[] =
276
  "7Y3UnxbffL8aFPXsOJBpGasgpDmngpIhAxGKdQRklQQ=";
277

278
/* SpiderOak3 */
279
static const char kSpiderOak3Fingerprint[] =
280
  "LkER54vOdlygpTsbYvlpMq1CE/lDAG1AP9xmdtwvV2A=";
281

282
/* Starfield Class 2 CA */
283
static const char kStarfield_Class_2_CAFingerprint[] =
284
  "FfFKxFycfaIz00eRZOgTf+Ne4POK6FgYPwhBDqgqxLQ=";
285
286

/* Starfield Root Certificate Authority - G2 */
287
static const char kStarfield_Root_Certificate_Authority___G2Fingerprint[] =
288
  "gI1os/q0iEpflxrOfRBVDXqVoWN3Tz7Dav/7IT++THQ=";
289

290
/* Swehack */
291
static const char kSwehackFingerprint[] =
292
  "FdaffE799rVb3oyAuhJ2mBW/XJwD07Uajb2G6YwSAEw=";
293
294

/* SwehackBackup */
295
static const char kSwehackBackupFingerprint[] =
296
  "z6cuswA6E1vgFkCjUsbEYo0Lf3aP8M8YOvwkoiGzDCo=";
297

298
/* TestSPKI */
299
static const char kTestSPKIFingerprint[] =
300
  "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
301
302

/* Tor1 */
303
static const char kTor1Fingerprint[] =
304
  "bYz9JTDk89X3qu3fgswG+lBQso5vI0N1f0Rx4go4nLo=";
305
306

/* Tor2 */
307
static const char kTor2Fingerprint[] =
308
  "xXCxhTdn7uxXneJSbQCqoAvuW3ZtQl2pDVTf2sewS8w=";
309
310

/* Tor3 */
311
static const char kTor3Fingerprint[] =
312
  "CleC1qwUR8JPgH1nXvSe2VHxDe5/KfNs96EusbfSOfo=";
313
314

/* Twitter1 */
315
static const char kTwitter1Fingerprint[] =
316
  "vU9M48LzD/CF34wE5PPf4nBwRyosy06X21J0ap8yS5s=";
317

318
/* USERTrust ECC Certification Authority */
319
static const char kUSERTrust_ECC_Certification_AuthorityFingerprint[] =
320
  "ICGRfpgmOUXIWcQ/HXPLQTkFPEFPoDyjvH7ohhQpjzs=";
321
322

/* USERTrust RSA Certification Authority */
323
static const char kUSERTrust_RSA_Certification_AuthorityFingerprint[] =
324
  "x4QzPSC810K5/cMjb05Qm4k3Bw5zBn4lTdO/nEW/Td4=";
325

326
/* VeriSign Class 3 Public Primary Certification Authority - G4 */
327
328
static const char kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint[] =
  "UZJDjsNp1+4M5x9cbbdflB779y5YRBcV6Z6rBMLIrO4=";
329
330

/* VeriSign Class 3 Public Primary Certification Authority - G5 */
331
332
static const char kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint[] =
  "JbQbUG5JMJUoI6brnx0x3vZF6jilxsapbXGVfjhN8Fg=";
333
334

/* VeriSign Universal Root Certification Authority */
335
336
static const char kVeriSign_Universal_Root_Certification_AuthorityFingerprint[] =
  "lnsM2T/O9/J84sJFdnrpsFp3awZJ+ZZbYpCWhGloaHI=";
337
338

/* Verisign Class 1 Public Primary Certification Authority - G3 */
339
340
static const char kVerisign_Class_1_Public_Primary_Certification_Authority___G3Fingerprint[] =
  "IgduWu9Eu5pBaii30cRDItcFn2D+/6XK9sW+hEeJEwM=";
341
342

/* Verisign Class 2 Public Primary Certification Authority - G3 */
343
344
static const char kVerisign_Class_2_Public_Primary_Certification_Authority___G3Fingerprint[] =
  "cAajgxHlj7GTSEIzIYIQxmEloOSoJq7VOaxWHfv72QM=";
345
346

/* Verisign Class 3 Public Primary Certification Authority - G3 */
347
348
static const char kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint[] =
  "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
371
/* Pinsets are each an ordered list by the actual value of the fingerprint */
struct StaticFingerprints {
372
373
  // See bug 1338873 about making these fields const.
  size_t size;
374
  const char* const* data;
375
376
};

377
/* PreloadedHPKPins.json pinsets */
378
static const char* const kPinset_google_root_pems_Data[] = {
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
  kEntrust_Root_Certification_Authority___EC1Fingerprint,
  kCOMODO_ECC_Certification_AuthorityFingerprint,
  kDigiCert_Assured_ID_Root_G2Fingerprint,
  kCOMODO_Certification_AuthorityFingerprint,
  kAddTrust_Low_Value_Services_RootFingerprint,
  kGlobalSign_ECC_Root_CA___R4Fingerprint,
  kDigiCert_Assured_ID_Root_G3Fingerprint,
  kStarfield_Class_2_CAFingerprint,
  kthawte_Primary_Root_CA___G3Fingerprint,
  kthawte_Primary_Root_CAFingerprint,
  kEntrust_net_Premium_2048_Secure_Server_CAFingerprint,
  kDigiCert_Assured_ID_Root_CAFingerprint,
  kUSERTrust_ECC_Certification_AuthorityFingerprint,
  kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint,
  kGlobalSign_Root_CAFingerprint,
  kGo_Daddy_Root_Certificate_Authority___G2Fingerprint,
  kAffirmTrust_Premium_ECCFingerprint,
  kGeoTrust_Primary_Certification_AuthorityFingerprint,
  kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint,
  kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint,
  kGo_Daddy_Class_2_CAFingerprint,
  kDigiCert_Trusted_Root_G4Fingerprint,
  kDigiCert_High_Assurance_EV_Root_CAFingerprint,
  kBaltimore_CyberTrust_RootFingerprint,
  kthawte_Primary_Root_CA___G2Fingerprint,
  kAffirmTrust_CommercialFingerprint,
  kEntrust_Root_Certification_AuthorityFingerprint,
  kGlobalSign_Root_CA___R3Fingerprint,
  kEntrust_Root_Certification_Authority___G2Fingerprint,
  kGeoTrust_Universal_CA_2Fingerprint,
  kGlobalSign_ECC_Root_CA___R5Fingerprint,
  kCybertrust_Global_RootFingerprint,
  kStarfield_Root_Certificate_Authority___G2Fingerprint,
  kCOMODO_RSA_Certification_AuthorityFingerprint,
  kGeoTrust_Global_CAFingerprint,
  kDigiCert_Global_Root_G2Fingerprint,
  kGlobalSign_Root_CA___R2Fingerprint,
  kAffirmTrust_NetworkingFingerprint,
  kAddTrust_External_RootFingerprint,
  kVeriSign_Universal_Root_Certification_AuthorityFingerprint,
  kGeoTrust_Universal_CAFingerprint,
  kGeoTrust_Primary_Certification_Authority___G3Fingerprint,
  kDigiCert_Global_Root_CAFingerprint,
  kDigiCert_Global_Root_G3Fingerprint,
  kGeoTrust_Primary_Certification_Authority___G2Fingerprint,
  kComodo_AAA_Services_rootFingerprint,
  kAffirmTrust_PremiumFingerprint,
  kUSERTrust_RSA_Certification_AuthorityFingerprint,
427
};
428
static const StaticFingerprints kPinset_google_root_pems = {
429
430
431
  sizeof(kPinset_google_root_pems_Data) / sizeof(const char*),
  kPinset_google_root_pems_Data
};
432

433
static const char* const kPinset_mozilla_services_Data[] = {
434
435
436
437
  kDigiCert_High_Assurance_EV_Root_CAFingerprint,
  kLet_s_Encrypt_Authority_X3Fingerprint,
  kDigiCert_Global_Root_CAFingerprint,
  kLet_s_Encrypt_Authority_X4Fingerprint,
438
};
439
static const StaticFingerprints kPinset_mozilla_services = {
440
441
442
  sizeof(kPinset_mozilla_services_Data) / sizeof(const char*),
  kPinset_mozilla_services_Data
};
443

444
static const char* const kPinset_mozilla_test_Data[] = {
445
  kEnd_Entity_Test_CertFingerprint,
446
};
447
static const StaticFingerprints kPinset_mozilla_test = {
448
449
450
  sizeof(kPinset_mozilla_test_Data) / sizeof(const char*),
  kPinset_mozilla_test_Data
};
451
452

/* Chrome static pinsets */
453
static const char* const kPinset_test_Data[] = {
454
  kTestSPKIFingerprint,
455
};
456
static const StaticFingerprints kPinset_test = {
457
458
459
  sizeof(kPinset_test_Data) / sizeof(const char*),
  kPinset_test_Data
};
460

461
static const char* const kPinset_google_Data[] = {
462
463
464
465
466
  kGOOGLE_PIN_GoogleG2Fingerprint,
  kGoogleBackup2048Fingerprint,
  kGOOGLE_PIN_GTSCA1O1Fingerprint,
  kGOOGLE_PIN_GoogleG3Fingerprint,
  kGlobalSign_Root_CA___R2Fingerprint,
467
};
468
static const StaticFingerprints kPinset_google = {
469
470
471
  sizeof(kPinset_google_Data) / sizeof(const char*),
  kPinset_google_Data
};
472

473
static const char* const kPinset_tor_Data[] = {
474
475
476
477
478
479
480
  kTor3Fingerprint,
  kDigiCert_High_Assurance_EV_Root_CAFingerprint,
  kLet_s_Encrypt_Authority_X3Fingerprint,
  kTor1Fingerprint,
  kGOOGLE_PIN_RapidSSLFingerprint,
  kLet_s_Encrypt_Authority_X4Fingerprint,
  kTor2Fingerprint,
481
};
482
static const StaticFingerprints kPinset_tor = {
483
484
485
  sizeof(kPinset_tor_Data) / sizeof(const char*),
  kPinset_tor_Data
};
486

487
static const char* const kPinset_twitterCom_Data[] = {
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
  kGOOGLE_PIN_VeriSignClass2_G2Fingerprint,
  kGOOGLE_PIN_VeriSignClass3_G2Fingerprint,
  kGOOGLE_PIN_GeoTrustGlobal2Fingerprint,
  kDigiCert_Assured_ID_Root_CAFingerprint,
  kVerisign_Class_1_Public_Primary_Certification_Authority___G3Fingerprint,
  kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint,
  kGOOGLE_PIN_VeriSignClass1Fingerprint,
  kGeoTrust_Primary_Certification_AuthorityFingerprint,
  kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint,
  kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint,
  kGOOGLE_PIN_VeriSignClass4_G3Fingerprint,
  kDigiCert_High_Assurance_EV_Root_CAFingerprint,
  kVerisign_Class_2_Public_Primary_Certification_Authority___G3Fingerprint,
  kGeoTrust_Universal_CA_2Fingerprint,
  kGeoTrust_Global_CAFingerprint,
  kVeriSign_Universal_Root_Certification_AuthorityFingerprint,
  kGeoTrust_Universal_CAFingerprint,
  kGeoTrust_Primary_Certification_Authority___G3Fingerprint,
  kDigiCert_Global_Root_CAFingerprint,
  kGeoTrust_Primary_Certification_Authority___G2Fingerprint,
  kTwitter1Fingerprint,
509
};
510
static const StaticFingerprints kPinset_twitterCom = {
511
512
513
  sizeof(kPinset_twitterCom_Data) / sizeof(const char*),
  kPinset_twitterCom_Data
};
514

515
static const char* const kPinset_twitterCDN_Data[] = {
516
517
518
519
520
521
522
523
524
525
526
527
528
  kGOOGLE_PIN_VeriSignClass2_G2Fingerprint,
  kGOOGLE_PIN_TrustedCertificateServicesFingerprint,
  kCOMODO_Certification_AuthorityFingerprint,
  kGOOGLE_PIN_VeriSignClass3_G2Fingerprint,
  kAddTrust_Low_Value_Services_RootFingerprint,
  kGOOGLE_PIN_UTNUSERFirstObjectFingerprint,
  kGOOGLE_PIN_GTECyberTrustGlobalRootFingerprint,
  kGOOGLE_PIN_GeoTrustGlobal2Fingerprint,
  kEntrust_net_Premium_2048_Secure_Server_CAFingerprint,
  kDigiCert_Assured_ID_Root_CAFingerprint,
  kVerisign_Class_1_Public_Primary_Certification_Authority___G3Fingerprint,
  kVeriSign_Class_3_Public_Primary_Certification_Authority___G5Fingerprint,
  kGlobalSign_Root_CAFingerprint,
529
  kGOOGLE_PIN_UTNUSERFirstClientAuthenticationandEmailFingerprint,
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
  kGOOGLE_PIN_VeriSignClass1Fingerprint,
  kGOOGLE_PIN_AddTrustPublicCARootFingerprint,
  kGOOGLE_PIN_UTNDATACorpSGCFingerprint,
  kGOOGLE_PIN_SecureCertificateServicesFingerprint,
  kGeoTrust_Primary_Certification_AuthorityFingerprint,
  kVerisign_Class_3_Public_Primary_Certification_Authority___G3Fingerprint,
  kGOOGLE_PIN_UTNUSERFirstHardwareFingerprint,
  kVeriSign_Class_3_Public_Primary_Certification_Authority___G4Fingerprint,
  kGOOGLE_PIN_VeriSignClass4_G3Fingerprint,
  kDigiCert_High_Assurance_EV_Root_CAFingerprint,
  kBaltimore_CyberTrust_RootFingerprint,
  kEntrust_Root_Certification_AuthorityFingerprint,
  kVerisign_Class_2_Public_Primary_Certification_Authority___G3Fingerprint,
  kGlobalSign_Root_CA___R3Fingerprint,
  kEntrust_Root_Certification_Authority___G2Fingerprint,
  kGeoTrust_Universal_CA_2Fingerprint,
  kGeoTrust_Global_CAFingerprint,
  kGlobalSign_Root_CA___R2Fingerprint,
  kAddTrust_External_RootFingerprint,
  kVeriSign_Universal_Root_Certification_AuthorityFingerprint,
  kGeoTrust_Universal_CAFingerprint,
  kGOOGLE_PIN_Entrust_SSLFingerprint,
  kGeoTrust_Primary_Certification_Authority___G3Fingerprint,
  kDigiCert_Global_Root_CAFingerprint,
  kGeoTrust_Primary_Certification_Authority___G2Fingerprint,
  kComodo_AAA_Services_rootFingerprint,
  kTwitter1Fingerprint,
  kGOOGLE_PIN_AddTrustQualifiedCARootFingerprint,
558
};
559
static const StaticFingerprints kPinset_twitterCDN = {
560
561
562
  sizeof(kPinset_twitterCDN_Data) / sizeof(const char*),
  kPinset_twitterCDN_Data
};
563

564
static const char* const kPinset_dropbox_Data[] = {
565
566
567
568
569
570
571
572
573
574
  kEntrust_Root_Certification_Authority___EC1Fingerprint,
  kEntrust_net_Premium_2048_Secure_Server_CAFingerprint,
  kDigiCert_Assured_ID_Root_CAFingerprint,
  kGo_Daddy_Root_Certificate_Authority___G2Fingerprint,
  kGOOGLE_PIN_GoDaddySecureFingerprint,
  kGo_Daddy_Class_2_CAFingerprint,
  kDigiCert_High_Assurance_EV_Root_CAFingerprint,
  kEntrust_Root_Certification_AuthorityFingerprint,
  kEntrust_Root_Certification_Authority___G2Fingerprint,
  kDigiCert_Global_Root_CAFingerprint,
575
};
576
static const StaticFingerprints kPinset_dropbox = {
577
578
579
  sizeof(kPinset_dropbox_Data) / sizeof(const char*),
  kPinset_dropbox_Data
};
580

581
static const char* const kPinset_facebook_Data[] = {
582
583
584
585
  kGOOGLE_PIN_DigiCertECCSecureServerCAFingerprint,
  kDigiCert_High_Assurance_EV_Root_CAFingerprint,
  kGOOGLE_PIN_SymantecClass3EVG3Fingerprint,
  kFacebookBackupFingerprint,
586
};
587
static const StaticFingerprints kPinset_facebook = {
588
589
590
  sizeof(kPinset_facebook_Data) / sizeof(const char*),
  kPinset_facebook_Data
};
591

592
static const char* const kPinset_spideroak_Data[] = {
593
594
595
596
  kSpiderOak2Fingerprint,
  kSpiderOak3Fingerprint,
  kDigiCert_High_Assurance_EV_Root_CAFingerprint,
  kGeoTrust_Global_CAFingerprint,
597
};
598
static const StaticFingerprints kPinset_spideroak = {
599
600
601
  sizeof(kPinset_spideroak_Data) / sizeof(const char*),
  kPinset_spideroak_Data
};
602

603
static const char* const kPinset_yahoo_Data[] = {
604
605
606
607
608
609
610
611
612
613
  kYahooBackup1Fingerprint,
  kDigiCert_Assured_ID_Root_CAFingerprint,
  kGlobalSign_Root_CAFingerprint,
  kDigiCert_Trusted_Root_G4Fingerprint,
  kDigiCert_High_Assurance_EV_Root_CAFingerprint,
  kGlobalSign_Root_CA___R3Fingerprint,
  kYahooBackup2Fingerprint,
  kDigiCert_Global_Root_G2Fingerprint,
  kDigiCert_Global_Root_CAFingerprint,
  kDigiCert_Global_Root_G3Fingerprint,
614
};
615
static const StaticFingerprints kPinset_yahoo = {
616
617
618
  sizeof(kPinset_yahoo_Data) / sizeof(const char*),
  kPinset_yahoo_Data
};
619

620
static const char* const kPinset_swehackCom_Data[] = {
621
622
623
624
625
626
  kSwehackFingerprint,
  kDST_Root_CA_X3Fingerprint,
  kLet_s_Encrypt_Authority_X3Fingerprint,
  kGOOGLE_PIN_COMODORSADomainValidationSecureServerCAFingerprint,
  kLet_s_Encrypt_Authority_X4Fingerprint,
  kSwehackBackupFingerprint,
627
};
628
static const StaticFingerprints kPinset_swehackCom = {
629
630
631
  sizeof(kPinset_swehackCom_Data) / sizeof(const char*),
  kPinset_swehackCom_Data
};
632

633
634
/* Domainlist */
struct TransportSecurityPreload {
635
  // See bug 1338873 about making these fields const.
636
  const char* mHost;
637
638
639
640
  bool mIncludeSubdomains;
  bool mTestMode;
  bool mIsMoz;
  int32_t mId;
641
  const StaticFingerprints* pinset;
642
};
643

644
/* Sort hostnames for binary search. */
645
static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
  { "2mdn.net", true, false, false, -1, &kPinset_google_root_pems },
  { "accounts.firefox.com", true, false, true, 4, &kPinset_mozilla_services },
  { "accounts.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "addons.mozilla.net", true, false, true, 2, &kPinset_mozilla_services },
  { "addons.mozilla.org", true, false, true, 1, &kPinset_mozilla_services },
  { "admin.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "android.com", true, false, false, -1, &kPinset_google_root_pems },
  { "api.accounts.firefox.com", true, false, true, 5, &kPinset_mozilla_services },
  { "api.twitter.com", true, false, false, -1, &kPinset_twitterCDN },
  { "apis.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "appengine.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "apps.facebook.com", true, false, false, -1, &kPinset_facebook },
  { "appspot.com", true, false, false, -1, &kPinset_google_root_pems },
  { "at.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "au.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "aus4.mozilla.org", true, true, true, 3, &kPinset_mozilla_services },
  { "aus5.mozilla.org", true, true, true, 7, &kPinset_mozilla_services },
  { "az.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "be.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "bi.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "blog.torproject.org", true, false, false, -1, &kPinset_tor },
  { "blogger.com", true, false, false, -1, &kPinset_google_root_pems },
  { "blogspot.com", true, false, false, -1, &kPinset_google_root_pems },
  { "br.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "bugs.chromium.org", true, false, false, -1, &kPinset_google_root_pems },
  { "build.chromium.org", true, false, false, -1, &kPinset_google_root_pems },
  { "business.facebook.com", true, false, false, -1, &kPinset_facebook },
  { "business.twitter.com", true, false, false, -1, &kPinset_twitterCom },
  { "ca.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
675
  { "calendar.google.com", true, false, false, -1, &kPinset_google_root_pems },
676
677
  { "cd.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "cdn.ampproject.org", true, false, false, -1, &kPinset_google_root_pems },
678
679
  { "cdn.mozilla.net", true, false, true, 16, &kPinset_mozilla_services },
  { "cdn.mozilla.org", true, false, true, 17, &kPinset_mozilla_services },
680
681
682
683
684
685
686
687
688
  { "cg.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "ch.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "check.torproject.org", true, false, false, -1, &kPinset_tor },
  { "checkout.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "chfr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "chit.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "chrome-devtools-frontend.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
  { "chrome.com", true, false, false, -1, &kPinset_google_root_pems },
  { "chrome.google.com", true, false, false, -1, &kPinset_google_root_pems },
689
  { "chromereporting-pa.googleapis.com", true, false, false, -1, &kPinset_google_root_pems },
690
691
692
693
694
695
696
697
698
699
700
701
  { "chromiumbugs.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
  { "chromiumcodereview.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
  { "cl.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "classroom.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "cloud.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "cn.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "co.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "code.facebook.com", true, false, false, -1, &kPinset_facebook },
  { "code.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "codereview.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
  { "codereview.chromium.org", true, false, false, -1, &kPinset_google_root_pems },
  { "contributor.google.com", true, false, false, -1, &kPinset_google_root_pems },
702
  { "corp.goog", true, false, false, -1, &kPinset_google_root_pems },
703
704
705
  { "cr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "crash-reports-xpsp2.mozilla.com", false, false, true, 11, &kPinset_mozilla_services },
  { "crash-reports.mozilla.com", false, false, true, 10, &kPinset_mozilla_services },
706
  { "crash-stats.mozilla.org", false, false, true, 12, &kPinset_mozilla_services },
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
  { "crbug.com", true, false, false, -1, &kPinset_google_root_pems },
  { "crosbug.com", true, false, false, -1, &kPinset_google_root_pems },
  { "crrev.com", true, false, false, -1, &kPinset_google_root_pems },
  { "ct.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "de.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "dev.twitter.com", true, false, false, -1, &kPinset_twitterCom },
  { "developer.android.com", true, false, false, -1, &kPinset_google_root_pems },
  { "developers.facebook.com", true, false, false, -1, &kPinset_facebook },
  { "dist.torproject.org", true, false, false, -1, &kPinset_tor },
  { "dk.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "dl.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "dns.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "do.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "docs.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "domains.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "doubleclick.net", true, false, false, -1, &kPinset_google_root_pems },
  { "download.mozilla.org", false, false, true, 14, &kPinset_mozilla_services },
  { "drive.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "dropbox.com", true, false, false, -1, &kPinset_dropbox },
  { "dropboxstatic.com", false, true, false, -1, &kPinset_dropbox },
  { "dropboxusercontent.com", false, true, false, -1, &kPinset_dropbox },
  { "edit.yahoo.com", true, true, false, -1, &kPinset_yahoo },
  { "en-maktoob.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "encrypted.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "es.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "espanol.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "example.test", true, true, false, -1, &kPinset_test },
734
  { "exclude-subdomains.pinning.example.com", false, false, false, -1, &kPinset_mozilla_test },
735
736
737
738
739
740
741
  { "facebook.com", false, false, false, -1, &kPinset_facebook },
  { "fi.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "fi.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "firebaseio.com", true, false, false, -1, &kPinset_google_root_pems },
  { "firefox.com", true, true, true, 15, &kPinset_mozilla_services },
  { "fj.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "fr.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
742
  { "g.co", false, false, false, -1, &kPinset_google_root_pems },
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
  { "g4w.co", true, false, false, -1, &kPinset_google_root_pems },
  { "ggpht.com", true, false, false, -1, &kPinset_google_root_pems },
  { "gl.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "glass.google.com", true, false, false, -1, &kPinset_google_root_pems },
  { "gm.search.yahoo.com", false, true, false, -1, &kPinset_yahoo },
  { "gmail.com", false, false, false, -1, &kPinset_google_root_pems },
  { "goo.gl", true, false, false, -1, &kPinset_google_root_pems },
  { "google", true, false, false, -1, &kPinset_google_root_pems },
  { "google-analytics.com", true, false, false, -1, &kPinset_google_root_pems },
  { "google.ac", true, false, false, -1, &kPinset_google_root_pems },
  { "google.ad", true, false, false, -1, &kPinset_google_root_pems },
  { "google.ae", true, false, false, -1, &kPinset_google_root_pems },
  { "google.af", true, false, false, -1, &kPinset_google_root_pems },
  { "google.ag", true, false, false, -1, &kPinset_google_root_pems },
  { "google.am", true, false, false, -1, &kPinset_google_root_pems },
  { "google.as", true, false, false, -1, &kPinset_google_root_pems },
  { "google.at", true, false, false, -1, &kPinset_google_root_pems },
  { "google.az", true, false, false, -1, &kPinset_google_root_pems },
  { "google.ba", true, false, false, -1, &kPinset_google_root_pems },
  { "google.be", true, false, false, -1, &kPinset_google_root_pems },
  { "google.bf", true, false, false, -1, &kPinset_google_root_pems },
  { "google.bg", true, false, false, -1, &kPinset_google_root_pems },
  { "google.bi", true, false, false, -1, &kPinset_google_root_pems },
  { "google.bj", true, false, false, -1, &kPinset_google_root_pems },
  { "google.bs", true, false, false, -1, &kPinset_google_root_pems },
  { "google.by", true, false, false, -1, &kPinset_google_root_pems },
  { "google.ca", true, false, false, -1, &kPinset_google_root_pems },
  { "google.cat", true, false, false, -1, &kPinset_google_root_pems },
  { "google.cc", true, false, false, -1, &kPinset_google_root_pems },
  { "google.cd", true, false, false, -1, &kPinset_google_root_pems },
  { "google.cf", true, false, false, -1, &kPinset_google_root_pems },
  { "google.cg", true, false, false, -1, &kPinset_google_root_pems },
  { "google.ch", true, false, false, -1, &kPinset_google_root_pems },
  { "google.ci", true, false, false, -1, &kPinset_google_root_pems },
  { "google.cl", true, false, false, -1, &kPinset_google_root_pems },
  { "google.cm", true, false, false, -1, &kPinset_google_root_pems },
  { "google.cn", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.ao", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.bw", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.ck", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.cr", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.hu", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.id", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.il", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.im", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.in", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.je", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.jp", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.ke", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.kr", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.ls", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.ma", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.mz", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.nz", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.th", true, false, false, -1, &kPinset_google_root_pems },
  { "google.co.tz", true, false, false</