前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络基础 记一次HTTPS证书验证测试过程

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

作者头像
授客
发布2019-09-11 16:25:42
1.1K0
发布2019-09-11 16:25:42
举报
文章被收录于专栏:授客的专栏

实践

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/

Resolving xxx.sf-express.com... 10.202.88.151

Connecting to xxx.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”告警按钮等

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-10-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档