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

1. 背景

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

但是这次,点了【高级】然后都没有下面"继续前往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 继续前往 xxx.xxx.xxx.xxx(不安全)

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

4.1.2 输入指令: thisisunsafe

4.1.3 添加信任证书

  • 导出证书

  • 导入证书

选择前面导出的crt文件

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

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

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

相关推荐
00后程序员31 分钟前
苹果App上架审核延迟7工作日无反应:如何通过App Store Connect和邮件询问进度
后端
DS小龙哥33 分钟前
基于物联网设计的蜂箱智能监测系统设计
后端
QZQ5418838 分钟前
C++编译期计算
后端
饕餮争锋42 分钟前
Spring内置的Bean作用域介绍
java·后端·spring
CryptoRzz44 分钟前
美股 (US) 与 墨西哥 (Mexico) 股票数据接口集成指南
后端
张人大 Renda Zhang1 小时前
Java 虚拟线程 Virtual Thread:让“每请求一线程”在高并发时代复活
java·jvm·后端·spring·架构·web·虚拟线程
一勺菠萝丶1 小时前
解决 SLF4J 警告问题 - 完整指南
java·spring boot·后端
零日失眠者1 小时前
【文件管理系列】001:文件批量重命名工具
后端·shell
申阳2 小时前
Day 19:02. 基于 SpringBoot4 开发后台管理系统-项目初始化
前端·后端·程序员