在本文中,我们将向你展示如何修复 Google Chrome 浏览器中的 NET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN 错误,这是一个相当罕见的问题,由不正确的密钥固定引起。 由于其复杂性,只有网站所有者才能解决这个问题。 此外,您还应熟知关键钉的具体细节。 我们强烈建议您停止钉按键,除非您是专家。
作为网站所有者,如何修复 NET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN 错误?
对于网站所有者来说,解决这一问题的最好办法就是预防。 除非你完全知道自己在做什么,否则不要别钥匙。
从理论上讲,HTTP 公钥固定(HPKP)是一项很有前途的安全功能,但在实践中却失败了,许多现代浏览器都迅速删除了这项功能。 其目的是将特定的加密公钥与特定的服务器联系起来,以降低中间人攻击的风险。
不过,将正确的密钥固定到证书上并不简单,因为你必须将自己的密钥和证书链中其他部分的密钥固定到证书上,但根证书除外,因为根证书的密钥已经包含在根存储中。
当用户访问你的网站时,他们的浏览器会使用公钥来验证主证书的签名,并追溯到中间证书和根证书,以完成 SSL 握手。 如果只有一个密钥未被固定,浏览器会显示 Chrome 浏览器的 NET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN 错误,其他浏览器也会显示类似错误。
除非你所在的组织技术先进,会为内部安全协议销钥匙,否则我们能给你的最好建议就是不要销钥匙。 安全专家建议不要钉入密钥,但即使你尝试钉入密钥,结果在网站上出现了错误,修复方法也很简单。 以正确的方式重新安装 SSL 证书,享受防弹加密。 由于目前 SSL 的有效期仅为一年,因此没有必要钉密钥。
如何以网站访问者身份修复 NET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN 错误
不幸的是,如果你作为用户遇到 NET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN 错误,你就无能为力了。 最好的办法是联系网站所有者,让他们了解问题所在。 但是,我们不想让你没有修复方法,因此我们将提供一个解决方案,要求你将导致错误的域名提交到 Chrome 浏览器的 “删除域名安全策略 “中。
- 打开 Chrome 浏览器,在 URL 框中输入 chrome://net-internals/#hsts。
- 下一步,向下滚动,直到看到 “删除域安全策略“。
- 在 “ 域“框中,提交无法访问的域,然后单击删除。
- 重新启动网站并查看是否正常运行
最后的想法
NET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN 错误就是 SSL 证书管理不善的一个完美例子。 如果您遵循最佳安装规范,所有由值得信赖的证书颁发机构颁发的 SSL 证书都能完美运行。 但是,如果您开始调整证书中的关键要素,您就是在玩火,自找麻烦。 钉键是一个复杂的过程,不值得您花费时间和精力。 最好的解决办法是避免按键固定。
如果你发现任何不准确的地方,或者你对本 SSL 教程有任何细节需要补充,请随时发送反馈到[email protected]。 如果您能提供意见,我们将不胜感激! 谢谢。