网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

HTTP头部信息 | 公共密钥列表

更新时间:2026年03月27日   作者:spoto   标签(Tag):
已过时:该功能已不再被推荐使用。由于其复杂的实现方式以及可能带来的副作用,Google Chrome团队在2017年便不再推荐使用该功能了。Google建议改用其他方法。预期-CT作为一种更好的替代方案。它已经被从90%的浏览器中移除,不过有些浏览器仍然支持它,只是为了保持兼容性而如此。HTTP公钥固定机制(HPKP)这是一种基于HTTP头部信息的互联网安全机制。通过这种机制,HTTPS网站能够抵御那些使用恶意或欺诈性数字证书的攻击者的攻击。 这种情况是通过向客户端传递一组公钥来实现的。 网络浏览器。 这些密钥会被交付给那些值得信赖的客户,以便他们能够继续使用该域名进行后续的连接操作。例如,攻击者可能会入侵证书颁发机构,然后滥用这些证书来操控网页的源地址。 为了降低这种风险,HTTPS服务器会提供一组“固定”的公共密钥哈希值。这些哈希值在特定的时间内仍然有效。在有效期内,客户端期望服务器在其证书链中使用一个或多个公共密钥。 如果不符合要求,那么屏幕上会显示一条错误信息。
标题类型: Response header
语法:
Public-Key-Pins: pin-sha256 = "pin-value"; 
                 max-age = expire-time; 
                 includeSubDomains; 
                 report-uri = "uri"
指示/指令
  • pin - sha256 = “pin - 值”这个引脚用于指定多个引脚,分别对应不同的公钥。将来,我们也可以使用除SHA-256之外的其他哈希算法。
  • 最大年龄等于到期时间。这个标记表示,浏览器应该记住,当前访问的网站是通过其中一个定义的键来识别的,从而确定访问的时间(以秒为单位)。
  • 包括子域名此参数表明,该网站的规则同样适用于该网站的子域名。此参数是可选的。
  • 报告 – URI = “uri”这个引脚会发送关于PIN验证失败的报告。该参数也是可选的。
示例/例子
Public-Key-Pins: 
  pin-sha256 = "cUPcTAZWKaASuYWhhneY3oBAkE3h2+soZS7sWs="; 
  pin-sha256 = "M8HztCzM3elS5P4hhyBNf6lHkmjAHKhpGPWE="; 
  max-age = 51000; 
  includeSubDomains; 
  report-uri = "https://www.spoto.net/hpkp-report"
在这个例子中,第一个引脚是“First pin”。pin-sha256 = “cUPcTAZWKaASuYWhhneY3oBAkE3h2+soZS7sWs=”在生产环境中,使用的是服务器的公钥。 第二个密码位pin-sha256 = “M8HztCzM3elS5P4hhyBNf6lHkmjAHKhpGPWE=”被用作备用密钥。 第三根针max-age = 51,000要求客户将该信息存储两个月(这个期限是由IETF RFC规定的)。 第四个引脚包括子域名表示该密钥适用于所有子域。 最后,最后一个引脚。报告链接:https://www.spoto.net/hpkp-report说明了在何处报告PIN码验证失败的情况。浏览器兼容性:与以下浏览器兼容:公钥记录头信息如下所示:
  • 谷歌浏览器
  • 歌剧
  • Firefox
  • Internet Explorer
  • 微软Edge浏览器
  • Safari
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料