Commit 69074ca8 authored by agl@chromium.org's avatar agl@chromium.org

net: add GlobalSign to Twitter CDN pins.

BUG=329961
R=palmer@chromium.org

Review URL: https://codereview.chromium.org/119403002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243302 0039d316-1c4b-4281-b951-d872f2087c98
parent 68bc37c9
...@@ -1183,3 +1183,73 @@ vyaXDmuonX5zG7u3nz/oCo/qziW46Phz/leMhCAgLnZUYcAv6KPET+RMRmt4n8gg ...@@ -1183,3 +1183,73 @@ vyaXDmuonX5zG7u3nz/oCo/qziW46Phz/leMhCAgLnZUYcAv6KPET+RMRmt4n8gg
C0xlOcCQbMh9VIPZ0WSnmdFn5DUCW+oVlwhxDB/3CvWIa0k/WI6NNW8vg+VdSyW7 C0xlOcCQbMh9VIPZ0WSnmdFn5DUCW+oVlwhxDB/3CvWIa0k/WI6NNW8vg+VdSyW7
p/dp4mikGH37Tc5VAhcYMbAem69nSg7Qfrs35tak/JPJlx1LWayERGHLvTy7Ag== p/dp4mikGH37Tc5VAhcYMbAem69nSg7Qfrs35tak/JPJlx1LWayERGHLvTy7Ag==
-----END CERTIFICATE----- -----END CERTIFICATE-----
GlobalSignRootCA
-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
-----END CERTIFICATE-----
GlobalSignRootCA_R2
-----BEGIN CERTIFICATE-----
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1
MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL
v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8
eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq
tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd
C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa
zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB
mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH
V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n
bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG
3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs
J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO
291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS
ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd
AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
-----END CERTIFICATE-----
GlobalSignRootCA_R3
-----BEGIN CERTIFICATE-----
MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
WD9f
-----END CERTIFICATE-----
...@@ -214,6 +214,18 @@ static const char kSPKIHash_Libertylavabitcom[] = ...@@ -214,6 +214,18 @@ static const char kSPKIHash_Libertylavabitcom[] =
"\x41\xbb\x3b\x8b\xc7\xcf\x3d\x13\x3f\x17" "\x41\xbb\x3b\x8b\xc7\xcf\x3d\x13\x3f\x17"
"\xb3\x25\x7e\xe4\x03\xca\x8a\x5c\x6d\x36"; "\xb3\x25\x7e\xe4\x03\xca\x8a\x5c\x6d\x36";
static const char kSPKIHash_GlobalSignRootCA[] =
"\x87\xdb\xd4\x5f\xb0\x92\x8d\x4e\x1d\xf8"
"\x15\x67\xe7\xf2\xab\xaf\xd6\x2b\x67\x75";
static const char kSPKIHash_GlobalSignRootCA_R2[] =
"\xa5\x06\x8a\x78\xcf\x84\xbd\x74\x32\xdd"
"\x58\xf9\x65\xeb\x3a\x55\xe7\xc7\x80\xdc";
static const char kSPKIHash_GlobalSignRootCA_R3[] =
"\xf7\x93\x19\xef\xdf\xc1\xf5\x20\xfb\xac"
"\x85\x55\x2c\xf2\xd2\x8f\x5a\xb9\xca\x0b";
// The following is static data describing the hosts that are hardcoded with // The following is static data describing the hosts that are hardcoded with
// certificate pins or HSTS information. // certificate pins or HSTS information.
...@@ -325,6 +337,9 @@ static const char* const kTwitterCDNAcceptableCerts[] = { ...@@ -325,6 +337,9 @@ static const char* const kTwitterCDNAcceptableCerts[] = {
kSPKIHash_UTNUSERFirstObject, kSPKIHash_UTNUSERFirstObject,
kSPKIHash_GTECyberTrustGlobalRoot, kSPKIHash_GTECyberTrustGlobalRoot,
kSPKIHash_BaltimoreCyberTrustRoot, kSPKIHash_BaltimoreCyberTrustRoot,
kSPKIHash_GlobalSignRootCA,
kSPKIHash_GlobalSignRootCA_R2,
kSPKIHash_GlobalSignRootCA_R3,
NULL, NULL,
}; };
#define kTwitterCDNPins { \ #define kTwitterCDNPins { \
...@@ -714,8 +729,7 @@ static const struct HSTSPreload kPreloadedSTS[] = { ...@@ -714,8 +729,7 @@ static const struct HSTSPreload kPreloadedSTS[] = {
{17, true, "\003dev\007twitter\003com", false, kTwitterComPins, DOMAIN_TWITTER_COM }, {17, true, "\003dev\007twitter\003com", false, kTwitterComPins, DOMAIN_TWITTER_COM },
{22, true, "\010business\007twitter\003com", false, kTwitterComPins, DOMAIN_TWITTER_COM }, {22, true, "\010business\007twitter\003com", false, kTwitterComPins, DOMAIN_TWITTER_COM },
{22, true, "\010platform\007twitter\003com", false, kTwitterCDNPins, DOMAIN_TWITTER_COM }, {22, true, "\010platform\007twitter\003com", false, kTwitterCDNPins, DOMAIN_TWITTER_COM },
{15, true, "\003si0\005twimg\003com", false, kTwitterCDNPins, DOMAIN_TWIMG_COM }, {11, true, "\005twimg\003com", false, kTwitterCDNPins, DOMAIN_TWIMG_COM },
{23, true, "\010twimg0-a\010akamaihd\003net", false, kTwitterCDNPins, DOMAIN_AKAMAIHD_NET },
{22, true, "\020braintreegateway\003com", true, kNoPins, DOMAIN_NOT_PINNED }, {22, true, "\020braintreegateway\003com", true, kNoPins, DOMAIN_NOT_PINNED },
{23, false, "\021braintreepayments\003com", true, kNoPins, DOMAIN_NOT_PINNED }, {23, false, "\021braintreepayments\003com", true, kNoPins, DOMAIN_NOT_PINNED },
{27, false, "\003www\021braintreepayments\003com", true, kNoPins, DOMAIN_NOT_PINNED }, {27, false, "\003www\021braintreepayments\003com", true, kNoPins, DOMAIN_NOT_PINNED },
......
...@@ -126,7 +126,10 @@ ...@@ -126,7 +126,10 @@
"UTNUSERFirstHardware", "UTNUSERFirstHardware",
"UTNUSERFirstObject", "UTNUSERFirstObject",
"GTECyberTrustGlobalRoot", "GTECyberTrustGlobalRoot",
"BaltimoreCyberTrustRoot" "BaltimoreCyberTrustRoot",
"GlobalSignRootCA",
"GlobalSignRootCA_R2",
"GlobalSignRootCA_R3"
] ]
}, },
{ {
...@@ -519,8 +522,7 @@ ...@@ -519,8 +522,7 @@
{ "name": "dev.twitter.com", "include_subdomains": true, "pins": "twitterCom" }, { "name": "dev.twitter.com", "include_subdomains": true, "pins": "twitterCom" },
{ "name": "business.twitter.com", "include_subdomains": true, "pins": "twitterCom" }, { "name": "business.twitter.com", "include_subdomains": true, "pins": "twitterCom" },
{ "name": "platform.twitter.com", "include_subdomains": true, "pins": "twitterCDN" }, { "name": "platform.twitter.com", "include_subdomains": true, "pins": "twitterCDN" },
{ "name": "si0.twimg.com", "include_subdomains": true, "pins": "twitterCDN" }, { "name": "twimg.com", "include_subdomains": true, "pins": "twitterCDN" },
{ "name": "twimg0-a.akamaihd.net", "include_subdomains": true, "pins": "twitterCDN" },
{ "name": "braintreegateway.com", "include_subdomains": true, "mode": "force-https" }, { "name": "braintreegateway.com", "include_subdomains": true, "mode": "force-https" },
{ "name": "braintreepayments.com", "mode": "force-https" }, { "name": "braintreepayments.com", "mode": "force-https" },
{ "name": "www.braintreepayments.com", "mode": "force-https" }, { "name": "www.braintreepayments.com", "mode": "force-https" },
......
...@@ -534,7 +534,6 @@ TEST_F(TransportSecurityStateTest, BuiltinCertPins) { ...@@ -534,7 +534,6 @@ TEST_F(TransportSecurityStateTest, BuiltinCertPins) {
EXPECT_TRUE(HasPublicKeyPins("business.twitter.com")); EXPECT_TRUE(HasPublicKeyPins("business.twitter.com"));
EXPECT_TRUE(HasPublicKeyPins("platform.twitter.com")); EXPECT_TRUE(HasPublicKeyPins("platform.twitter.com"));
EXPECT_TRUE(HasPublicKeyPins("si0.twimg.com")); EXPECT_TRUE(HasPublicKeyPins("si0.twimg.com"));
EXPECT_TRUE(HasPublicKeyPins("twimg0-a.akamaihd.net"));
} }
static bool AddHash(const std::string& type_and_base64, static bool AddHash(const std::string& type_and_base64,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment