从您提到的源代码中引用:
354 // Other Google-related domains that must use an acceptable certificate
355 // iff using SSL.
...
361 { "name": "doubleclick.net", "include_subdomains": true, "pins": "google" },
这意味着如果站点是通过 https 提供的,则证书是固定的。这并不意味着该站点需要通过 https 提供服务。force-https
这对于设置了属性的其他域是不同的:
264 { "name": "accounts.google.com", "include_subdomains": true, "mode": "force-https", "pins": "google" },
编辑:基于 Chromium 的源代码(函数TransportSecurityState::GetStaticDomainState
in net/http/transport_security_state.cc
),我将尝试解释可以看到的信息chrome://net-internals/#hsts
以及它与net/http/transport_security_state_static.json
使用示例的静态信息的关系doubleclick.net
:
static_sts_domain: doubleclick.net
static_upgrade_mode: OPPORTUNISTIC
OPPORTUNISTIC 是默认模式 ( STSState::MODE_DEFAULT
)。这意味着它不会强制使用 HTTPS。使用默认模式,因为在配置中没有force-https
给出明确的设置。
static_sts_include_subdomains: true
由于它不强制使用 https,因此此设置无关紧要。但该值可能是由上include_subdomains
图所示的配置引起的,即使该配置行不包含force-https
.
static_sts_observed: 1476162000
这是静态 HSTS/HPKP 列表的构建时间,在本例中为 2016/09/04。
static_pkp_domain: doubleclick.net
static_pkp_include_subdomains: true
static_pkp_observed: 1476162000
static_spki_hashes: sha256/IPMbDAjLVSGntGO3WP53X/zilCVndez5YJ2+vJvhJsA=,sha256/7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=,sha256/h6801m+z8v3zbgkRHpq6L29Esgfzhj89C1SyUCOQmqU=
这些是关于固定的信息。这些与上面显示的设置有直接关系(即include_subdomains
应该使用哪些引脚)。