分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

chrome NET::ERR_CERT_AUTHORITY_INVALID提示网址不安全无法访问

发布时间:2023-09-06 01:34责任编辑:傅花花关键词:暂无标签

1. 问题描述


今天用Apache搭建好PC端服务器后,用Chrome测试,打开http://www.baidu.com/时出现了如下的错误: 



2. 错误原因

经试验发现,对于firefox和IE不会出现上述问题。或者会出现安全警告,但是可以选择信任而继续访问页面。但是对于chrome浏览器则不可以。

原因在于,chrome浏览器新加入了HSTS策略(见上图红色圈)。使用HSTS策略是chrome加入的新特性,使用该策略的网站,会强制浏览器使用HTTPS协议与该网站通信。

HTTPS和HTTP的区别在于,用HTTPS协议时传输的数据是加密的(TSL和SSL),而用HTTP传输时是明文传输。

具体来说,HTTPS协议对传输内容使用的是对称加密算法,也即通信双方使用相同的密钥。但是对于密钥分发过程则使用的是公钥加密。但是我如何确认服务器不是别人伪造的呢?——我需要验证他的身份,即验证他的公钥。在服务器给我提供的证书中,有他声明的公钥Kp1,也有第三方用第三方自己的私钥(Ks0)加密服务器公钥(Kp1)后的密文(Ck1)。假如我相信第三方的身份是真实可信的,那么我用第三方的公钥(Kp0),解密服务器的被第三方加密的公钥,和服务器直接发给我的公钥比较。如果相同,则验证成功;不同则验证失败。
数学公式:证书构成(Kp1, Ck1, Kp0) ,其中Ck1==Eks0(Kp1),若Kp1 == Dkp0(Ck1)则验证成功。

这里一个重要的假设是我相信第三方,也即我相信证书是有效的(证书还包含其它信息来供大家确定是否有效,上段描述只是简化)。然而这里我自己搭建的服务器所提供的证书并不被chrome所信任,所以验证失败。

造成证书不受信的可能的情况有:
1. 第三方证书没有及时更新
2. 第三方服务器不安全
3. 证书不是由可信第三方颁布

3. 解决方法

在chrome的地址栏里输入 chrome://net-internals/#hsts,把localhost从HSTS中删除,如下图:

Delete domain

Input a domain name to delete it from the HSTS set (you cannot delete preloaded entries):

Domain:  

Query domain

Input a domain name to query the current HSTS set:

Domain:  

Not found


chrome NET::ERR_CERT_AUTHORITY_INVALID提示网址不安全无法访问

原文地址:http://blog.51cto.com/chbinmile/2056946

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved