如何解决浏览器HTTPS不安全连接警告及SSL证书问题

1. 背景

前些天访问一个https的链接,这个不安全的连接提示那是经常见,只要是自己的内部应用系统,大多数是这样。但平时点个【高级】,点个"继续前往 http://xxx.xxx.xxx.xxx(不安全)"的超链接就跳过去直接进去了。

但是这次,点了【高级】然后都没有下面"继续前往http://xxx.xxx.xxx.xxx(不安全)"的超链接。

2. 解决

直接在当前页面点击任何空白位置,然后输入 thisisunsafe,然后就跳过进去了

按照到处搜索的结果说的一句:告诉浏览器,这是一个不安全的连接。我真的不想说啥,这翻译过来不就是这句。想要了解为啥这么就ok了。

3.刨根问底

3.1 什么是说"您的连接不是私密连接"?

这个一般只有https的网址才会出现,http的网站是不会出现的。

这是为什么呢?

因为https是安全的访问连接,是在http基础上增加了SSL/TLS协议来进行加密和身份验证,确保传输过程的安全性。当不符合安全规则的时候就会判定是不安全的私密连接。

判断的安全规则包括:

1.过期的SSL证书:SSL证书有一个有效期

2.无效的证书链:当客户端无法验证服务器的证书链

(可能是由于证书颁发机构的根证书未被正确导入到客户端,或者证书链中的某个证书被吊销或无效)

3.使用了自签名证书:自签名证书不被大多数浏览器信任

4.配置错误:例如,服务器未正确配置SSL证书,或者使用了不正确的加密套件等

是不是这里面信息量有点大,这都一个一个的是啥?不慌,下面开始扫盲 ↓↓↓↓↓

3.2 https 和 http的区别?

  • 协议层:HTTP直接和TCP通信,而HTTPS则先通过SSL/TLS协议来加密数据和验证身份,然后再与TCP通信。
  • 安全性:HTTP本身不提供加密和身份验证机制,而HTTPS提供了数据加密和身份验证,确保数据的机密性和完整性,以及通信双方的身份验证。
  • 端口号:HTTP通常使用80端口,而HTTPS则使用443端口。

3.3 SSL/TLS协议是什么,跟熟知的http/https协议,TCP/IP协议,有啥关系,都叫协议?

这个协议这东西,简单来说就是定义一套规则:协议 == 规则

上面的 HTTP、HTTPS、TCP、UDP以及SSL/TLS协议都是TCP/IP协议簇的组成部分!

TCP/IP协议簇是一个庞大的协议族,包括了众多用于 网络通信的协议。

所以转回来,上面提到的这写协议(规则),都是为了网络上的数据传输,数据通信制定的规则,不同的规则解决不同的问题,重点也不同。

  • http实现超链接资源访问
  • https在http的基础上,对传输数据进行了加密,http传输的数据都是明文的,网络拦截后是可以解析出来的,而https的数据传输是密文的,网络拦截了,如果没有秘钥/公钥是没法解析内容的
  • SSL/TLS是一套安全加密的协议,主要完成加解密。

OSI(Open Systems Interconnection)七层模型 上讲,SSL/TLS协议是传输层-应用层之间,但又不完全数属于某一层:

1.应用层:为用户的应用进程提供网络通信服务,如DNS协议、 HTTP协议、SMTP协议等。

2.表示层:将抽象语法转化为适合OSI系统内部使用的传送语法,提供格式化的表示和转换数据服务,数据的压缩、解压缩、 加密和解密 等工作都由表示层负责。

3.会话层:通过会话管理网络连接,完成通信进程的逻辑名字与物理名字间的对应,提供 会话 管理服务。

4.传输层:负责数据从发送端 传输 到接收端,协议包括 UDP协议、TCP协议 等。

5.网络层:在复杂的网络环境下确定一个合适的路径,协议包括IP协议。

6.数据链路层:将网络层交下来的数据报封装成帧,在同一种数据链路节点的两个设备之间传输,协议包括MTU协议、ARP协议等。

7.物理层:实现相邻计算机节点之间的比特流的透明传输,尽可能屏蔽掉具体传输介质的差异。

在实际网络分析和开发中,抓包工具如 Sniffmaster 可以帮助解密和检查 HTTPS 流量,它支持全平台抓包,包括 HTTPS、TCP 和 UDP 协议,无需设置代理或越狱即可进行流量分析,便于开发人员调试 SSL/TLS 握手和证书验证过程。

3.4.什么是SSL证书?

SSL证书是一种数字证书,用于验证服务器身份并提供数据加密功能。

SSL证书由受信任的证书颁发机构(CA)颁发,其中包含:

CA:相当于工商局,颁发的证书就像工商局发放了营业执照,公认的一个合法的网站(合法的商企)

  • 服务器的公钥、
  • 证书持有者的信息、
  • 证书颁发机构的签名等内容。

当客户端连接到服务器时,服务器会向客户端提供SSL证书,并使用公钥对客户端进行身份验证。

客户端会验证服务器的证书是否由受信任的CA颁发,并使用服务器提供的公钥对数据进行加密。

4. 正向解决

一般来说分两类

  • 搞一个由证书颁发机构(CA)颁发的合法证书,类似于注册一个合法的域名,那各大浏览器就能找到。
  • 在自己浏览器搞:自行确认这个证书的安全性,直接告诉浏览器

4.1 浏览器操作

4.1.1 继续前往 http://xxx.xxx.xxx.xxx(不安全)

最常规的就是点击【高级】,点击"继续前往 http://xxx.xxx.xxx.xxx(不安全)"的超链接

4.1.2 输入指令: thisisunsafe

4.1.3 添加信任证书

  • 导出证书

  • 导入证书

选择前面导出的crt文件

一直下一步,这里选择一个自动选择存储。

导入成功后,找一下导入后的证书,名称一般和导出的文件名一致,如果导出的时候没有改名的话。

可能在个人,可能在某个页签下,要仔细找。或者不用找,直接重新访问前面的https的网站,就会发现不会提示"您的连接不是私密连接"了

相关推荐
打码人的日常分享8 小时前
智能制造数字化工厂解决方案
数据库·安全·web安全·云计算·制造
行走的陀螺仪8 小时前
uni-app + Vue3编辑页/新增页面给列表页传参
前端·vue.js·uni-app
徐赛俊9 小时前
IOS快捷指令:一键静音 / 恢复
ios
森之鸟10 小时前
uniapp——配置鸿蒙环境,进行真机调试
华为·uni-app·harmonyos
上海云盾安全满满10 小时前
什么是端口管理,网络安全的关键环节
安全·web安全
久绊A11 小时前
春节前云平台运维深度巡检-实操经验
运维·安全·容器·kubernetes·云平台
零域行者11 小时前
PHP反序列化漏洞详解(含靶场实战)
安全·web安全
Arvin62712 小时前
研发环境:SSL证书快速部署
网络·网络协议·ssl
阿猿收手吧!12 小时前
【C++】volatile与线程安全:核心区别解析
java·c++·安全
青岑CTF12 小时前
攻防世界-Php_rce-胎教版wp
开发语言·安全·web安全·网络安全·php