summaryrefslogtreecommitdiffstats
path: root/net/http/transport_security_state.cc
diff options
context:
space:
mode:
Diffstat (limited to 'net/http/transport_security_state.cc')
-rw-r--r--net/http/transport_security_state.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/net/http/transport_security_state.cc b/net/http/transport_security_state.cc
index e77c8c5..8eb2943 100644
--- a/net/http/transport_security_state.cc
+++ b/net/http/transport_security_state.cc
@@ -1100,6 +1100,25 @@ bool TransportSecurityState::GetStaticDomainState(const std::string& host,
return true;
}
+bool TransportSecurityState::IsGooglePinnedHost(const std::string& host) const {
+ DCHECK(CalledOnValidThread());
+
+ if (!IsBuildTimely())
+ return false;
+
+ PreloadResult result;
+ if (!DecodeHSTSPreload(host, &result))
+ return false;
+
+ if (!result.has_pins)
+ return false;
+
+ if (result.pinset_id >= arraysize(kPinsets))
+ return false;
+
+ return kPinsets[result.pinset_id].accepted_pins == kGoogleAcceptableCerts;
+}
+
bool TransportSecurityState::GetStaticExpectCTState(
const std::string& host,
ExpectCTState* expect_ct_state) const {