网络基础 记一次HTTPS证书验证测试过程

简介: 网络基础 记一次HTTPS证书验证测试过程

记一次HTTPS证书验证测试过程


实践

1) 安装证书

选择主机A(假设10.202.95.88)上安装https证书

说明:采用https的服务器,必须安装数字证书,这个可以是自己制作,也可以想组织申请,区别在于自己颁发的证书,需要客户端验证通过,才可以继续访问(常见的就是浏览器弹窗,提示是否信任该网站),而由像组织申请的受信任证书则不会弹出该提示。

 

2) 配置本地DNS

选择主机B(假设10.202.95.38,能访问10.202.88.151),配置本地DNS,在/etc/hosts中添加如下内容

10.202.88.151 xxx.sf-express.com

 

说明:10.202.88.151为负载VIP,如下,访问负载vip时,会随机转发至集群节点主机

 10.202.88.151 ->10.202.95.88

 10.202.88.151 ->10.202.95.87

 

然后在主机B上,发起https下载请求

$ wget https://xxx.sf-express.com/

--2017-10-24 17:08:58--  https://xxx.sf-express.com/

Resolvingxxx.sf-express.com... 10.202.88.151

Connecting toxxx.sf-express.com|10.202.88.151|:443... connected.

HTTP request sent, awaiting response... 200 OK

Length: 59054 (58K) [text/html]

index.html: Permission denied

Cannot write to ?.ndex.html?.(Success).

 

说明:

1)不能用curl替换wget命令发起请求,会报无法进行SSH连接,至于为何,我也不清楚。

$ curl https://xxx.sf-express.com/

 

curl: (35) SSL connect error

 

2)如上,我们可以很清楚的看到请求过程,先是本地DNS解析,->然后通过443端口,请求连接到目标主机->接着,发送HTTP请求,-->等待服务器返回

 

进一步验证,直接发送请求,不过这一次不通过域名访问,直接通过IP访问。

$ wget https://10.202.88.151/

--2017-10-24 17:09:24--  https://10.202.88.151/

Connecting to 10.202.88.151:443... connected.

   ERROR: certificate common name ?.engta.sf-express.com?.doesn't match requested host name ?.0.202.88.151?.

To connect to 10.202.88.151 insecurely, use ?.-no-check-certificate?.

 

说明:如上,这里利用了“服务器返回证书中包含有效网址,客户端校验证书时会比较请求的网址和服务器给的证书中的网址是否一致”这个特性,来验证证书是否正常运作。

 

大致原理

->客户端发送https请求,把自身支持的秘钥算法套件发送给服务器

-> 服务器判断自身是否支持该算法套件,如果支持则返回证书信息(本质为公钥,包含了证书颁发机构,网址,过期时间等) ,否则断开连接,

-> 客户端解析证书(通过TLS协议来完成),验证证书是否有效。如果异常,则会提示是否安装证书,常见的就是浏览器搜索栏左侧出现“X”告警按钮等

-> 如果证书有效、或者是授信安装证书后,开始传送加密信息(用证书加密后的随机值,供加解密使用)

-> 服务端通过私钥解密加密信息,得到客户端发送来的随机值,然后把内容通过该值进行对称加密。这样一来,除非知道私钥,否则是无法获取加密内容的。

-> 服务端返回加密后的内容

-> 客户端通过前面提到的随机值对加密信息进行解密

 

 

目录
相关文章
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
1月前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
【Shell 命令集合 网络通讯 】⭐⭐⭐Linux 测试与目标主机之间的网络连接ping 命令 使用指南
43 1
|
2天前
|
算法 计算机视觉 异构计算
基于FPGA的图像累积直方图verilog实现,包含tb测试文件和MATLAB辅助验证
该内容展示了FPGA实现图像累积直方图的算法。使用Vivado2019.2和matlab2022a,通过FPGA的并行处理能力优化图像处理。算法基于像素值累加分布,计算图像中像素值小于等于特定值的像素个数。核心代码为`test_image`模块,读取二进制图像文件并传递给`im_hist`单元,生成直方图和累积直方图。
|
11天前
|
网络协议 安全 API
Android网络和数据交互: 什么是HTTP和HTTPS?在Android中如何进行网络请求?
HTTP和HTTPS是网络数据传输协议,HTTP基于TCP/IP,简单快速,HTTPS则是加密的HTTP,确保数据安全。在Android中,过去常用HttpURLConnection和HttpClient,但HttpClient自Android 6.0起被移除。现在推荐使用支持TLS、流式上传下载、超时配置等特性的HttpsURLConnection进行网络请求。
10 0
|
14天前
|
安全 网络协议 网络安全
网络原理(5)--HTTPS是如何进行加密的
网络原理(5)--HTTPS是如何进行加密的
11 0
|
18天前
|
域名解析 网络协议 应用服务中间件
阿里云SSL证书配置(HTTPS证书配置)
该内容是一个关于如何在阿里云上准备和购买SSL证书,以及如何为网站启用HTTPS的步骤指南。首先,需要注册并实名认证阿里云账号,然后在SSL证书控制台选择证书类型、品牌和时长进行购买。申请证书时填写域名信息,并进行DNS验证,这包括在阿里云域名管理板块添加解析记录。完成验证后提交审核,等待证书审核通过并下载Nginx格式的证书文件。最后,将证书配置到网站服务器以启用HTTPS。整个过程涉及账户注册、实名认证、证书购买、DNS设置和证书下载及安装。
87 0
|
22天前
|
网络安全 数据安全/隐私保护 Docker
免费的HTTPS证书
免费的HTTPS证书
69 1
|
24天前
|
测试技术 持续交付 开发者
深入白盒测试:代码级验证与软件质量保障
【4月更文挑战第2天】 在软件开发的生命周期中,确保产品的质量至关重要。白盒测试作为一种软件测试方法,允许测试者通过检查内部结构、设计和实现的逻辑来验证代码的正确性。本文将深入探讨白盒测试的核心技术和策略,包括控制流测试、数据流测试以及静态和动态分析方法。通过这些技术,我们可以提高发现软件缺陷的效率,从而提升软件的整体质量和可靠性。
|
1月前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 验证Samba配置文件 testparm命令 使用教程
【Shell 命令集合 网络通讯 】Linux 验证Samba配置文件 testparm命令 使用教程
38 0
|
1月前
|
存储 测试技术 C++
P2P网络下分布式文件共享场景的测试
P2P网络下分布式文件共享场景的测试
33 6

热门文章

最新文章