| Index: net/base/transport_security_state.cc
|
| diff --git a/net/base/transport_security_state.cc b/net/base/transport_security_state.cc
|
| index ce9cd43d2cd530c094a98c5e9c5545715cd52089..91b9b333f60b78bffb503b973700b87c6329edcb 100644
|
| --- a/net/base/transport_security_state.cc
|
| +++ b/net/base/transport_security_state.cc
|
| @@ -968,6 +968,53 @@ static const char* const kTwitterComAcceptableCerts[] = {
|
| kNoRejectedPublicKeys, \
|
| }
|
|
|
| +// kTwitterAcceptableCerts2 are the set of public keys valid for Twitter's
|
| +// CDNs, which includes all the keys from kTwitterAcceptableCerts1.
|
| +static const char* const kTwitterCDNAcceptableCerts[] = {
|
| + kSPKIHash_VeriSignClass1,
|
| + kSPKIHash_VeriSignClass3,
|
| + kSPKIHash_VeriSignClass3_G4,
|
| + kSPKIHash_VeriSignClass4_G3,
|
| + kSPKIHash_VeriSignClass3_G3,
|
| + kSPKIHash_VeriSignClass1_G3,
|
| + kSPKIHash_VeriSignClass2_G3,
|
| + kSPKIHash_VeriSignClass3_G2,
|
| + kSPKIHash_VeriSignClass2_G2,
|
| + kSPKIHash_VeriSignClass3_G5,
|
| + kSPKIHash_VeriSignUniversal,
|
| + kSPKIHash_GeoTrustGlobal,
|
| + kSPKIHash_GeoTrustGlobal2,
|
| + kSPKIHash_GeoTrustUniversal,
|
| + kSPKIHash_GeoTrustUniversal2,
|
| + kSPKIHash_GeoTrustPrimary,
|
| + kSPKIHash_GeoTrustPrimary_G2,
|
| + kSPKIHash_GeoTrustPrimary_G3,
|
| + kSPKIHash_Twitter1,
|
| +
|
| + kSPKIHash_Entrust_2048,
|
| + kSPKIHash_Entrust_EV,
|
| + kSPKIHash_Entrust_G2,
|
| + kSPKIHash_Entrust_SSL,
|
| + kSPKIHash_AAACertificateServices,
|
| + kSPKIHash_AddTrustClass1CARoot,
|
| + kSPKIHash_AddTrustExternalCARoot,
|
| + kSPKIHash_AddTrustPublicCARoot,
|
| + kSPKIHash_AddTrustQualifiedCARoot,
|
| + kSPKIHash_COMODOCertificationAuthority,
|
| + kSPKIHash_SecureCertificateServices,
|
| + kSPKIHash_TrustedCertificateServices,
|
| + kSPKIHash_UTNDATACorpSGC,
|
| + kSPKIHash_UTNUSERFirstClientAuthenticationandEmail,
|
| + kSPKIHash_UTNUSERFirstHardware,
|
| + kSPKIHash_UTNUSERFirstObject,
|
| + kSPKIHash_GTECyberTrustGlobalRoot,
|
| + NULL,
|
| +};
|
| +#define kTwitterCDNPins { \
|
| + kTwitterCDNAcceptableCerts, \
|
| + kNoRejectedPublicKeys, \
|
| +}
|
| +
|
| // kTestAcceptableCerts doesn't actually match any public keys and is used
|
| // with "pinningtest.appspot.com", below, to test if pinning is active.
|
| static const char* const kTestAcceptableCerts[] = {
|
| @@ -1132,14 +1179,13 @@ static const struct HSTSPreload kPreloadedSTS[] = {
|
| DOMAIN_NOT_PINNED },
|
| {12, true, "\006ubertt\003org", true, kNoPins, DOMAIN_NOT_PINNED },
|
|
|
| -#if 0
|
| // Twitter pins disabled in order to track down pinning failures --agl
|
| {13, false, "\007twitter\003com", kTwitterHSTS,
|
| kTwitterComPins, DOMAIN_TWITTER_COM },
|
| {17, true, "\003www\007twitter\003com", kTwitterHSTS,
|
| kTwitterComPins, DOMAIN_TWITTER_COM },
|
| {17, true, "\003api\007twitter\003com", kTwitterHSTS,
|
| - kTwitterComPins, DOMAIN_TWITTER_COM },
|
| + kTwitterCDNPins, DOMAIN_TWITTER_COM },
|
| {19, true, "\005oauth\007twitter\003com", kTwitterHSTS,
|
| kTwitterComPins, DOMAIN_TWITTER_COM },
|
| {20, true, "\006mobile\007twitter\003com", kTwitterHSTS,
|
| @@ -1154,7 +1200,6 @@ static const struct HSTSPreload kPreloadedSTS[] = {
|
| DOMAIN_TWIMG_COM },
|
| {23, true, "\010twimg0-a\010akamaihd\003net", false,
|
| kTwitterCDNPins, DOMAIN_AKAMAIHD_NET },
|
| -#endif
|
| };
|
| static const size_t kNumPreloadedSTS = ARRAYSIZE_UNSAFE(kPreloadedSTS);
|
|
|
|
|