RSS订阅追求最高效、最简单的解决方案
你的位置:首页 » 问题分享 » 正文

https网站访问与数字证书理解

选择字号: 超大 标准 技术小哥 发布于2019年10月30日 属于 问题分享 栏目  0个评论 1824人浏览

最近遇到一个机房下个别网站打不开的问题,比如斗鱼、微博,要么打开没有样式、要么提示证书有问题。但是发现http的访问就很正常。

QQ截图20191030114502.png

QQ截图20191030114551.png


https网站,指的在域名前面是https而不是http。https科学上叫法是安全的超文本传输协议,是在http协议基础上增加了使用SSL加密传送信息的协议。在国内DNS“污染”(指的劫持、篡改)事件经常发生的情况下很多网站厂商开始纷纷将网站改成https方式。


https工作流程

1、客户端向服务器发起SSL通信,报文中包含客户端支持的SSL的指定版本,加密组件列表(所使用的加密算法及密钥长度)

2、服务器的响应报文中,包含SSL版本以及加密组件,服务器的加密组件内容是从客户端发来的加密组件列表中筛选出来的,服务器还会发一个公开密钥并且带有公钥证书

3、客户端拿到服务器的公开密钥,并验证其公钥证书(使用浏览器中已经植入的CA公开密钥

4、如果验证成功,客户端生成一个Pre-master secret随机密码串,这个随机密码串其实就是之后通信要用的对称密钥,并用服务器的公开密钥进行加密,发送给服务器,以此通知服务器,之后的报文都会通过这个对称密钥来加密

5、同时,客户端用约定好的hash算法计算握手消息,然后用生成的密钥进行加密,一起发送给服务器

6、服务器收到客户端发来的的公开密钥加密的对称密钥,用自己的私钥对其解密拿到对称密钥,再用对称密钥解析握手消息,验证hash值是否与客户端发来的一致。如果一致,则通知客户端SSL握手成功

7、之后的数据交互都是HTTP通信(当然通信会获得SSL保护),且数据都是通过对称密钥来加密(这个密钥不会每次都发,在握手的过程中,服务器已经知道了这个对称密钥,再有数据来时,服务器知道这些数据就是通过对称密钥加密的,于是就直接解密了)


这里就会发现如果https网站打不开的话影响因素有浏览器的SSL的版本设置、浏览器的公钥证书、对称密钥(可能跟时间值有关系),这里提到了一个重点就是公钥证书

QQ截图20191030113927.png


证书里面有颁发者、颁发给、截止日期,这里的证书对应很多网站的证书类型,以斗鱼为例。

QQ截图20191030114715.pngQQ截图20191030114731.png


在访问过程中,如果存在DNS污染导致在网页拿到的数据不一致无法解密就会导致上述问题的发生。而这个证书多数是访问成功后会进行自动安装,但如果网络存在破坏导致证书无法安装则网页也无法访问。


同时也发现在Windows系统中,证书更新有他自己的一套逻辑是系统根证书更新机制,其对应的服务是Cryptographic Services,该服务禁用会导致证书无法自更新。其相关url是http://ctldl.windowsupdate.com

最后上述那个问题选择了把斗鱼证书下载后导入解决。导入方法可以参阅上篇文章。


【相关文章】

https://www.cnblogs.com/hz-blog/p/4900723.html 

https://answers.microsoft.com/zh-hans/windows/forum/windows_7-security/如何更新windows/d294617a-d402-4931-81b8-0b1eef814a23 

http://download.windowsupdate.com/msdownload/update/v3/static/rtf/zhcn/4702.htm 

打赏

标签:

1

猜你喜欢

右侧2016一起努力
最新发布的文章
最新评论

公告

十年相伴 值得信赖 需要定制开发、购买加速器可以联系QQ1368762345