HTTPS请求步骤详解

原创 2016年05月31日 15:02:46

概念

HTTPS可以简单的理解为HTTP + TLS(SSL),在传输层之上多了一层加密层。


HTTPS加密请求过程

HTTPS协议请求时序图


  • CA:Digital Certificate,数字证书
  • random key:对称加密的秘钥
  • 由于非对阵加密效率低下,不适合用于加密操作频繁且数据量较大的请求内容
  • 生成的random key需要用证书提供的公钥加密,再传送给Server端,Server端再解密random key用于加密content

数字证书

作用

数字证书与公钥密码体制紧密相关。在公钥密码体制中,每个实体都有一对互相匹配的密钥:公开密钥(Pubic Key公钥)和私有密钥(Private Key私钥)。公开密钥为一组用户所共享,用于加密或验证签名,私有密钥仅为证书拥有者本人所知,用于解密或签名。
当发送一份秘密文件时,发送方使用接收方的公钥对该文件加密,而接收方则使用自己的私钥解密。因为接收方的私钥仅为本人所有,其他人无法解密该文件,所以能保证文件安全到达目的地。
用户也可以用自己的私钥对信息进行处理,由于私钥仅为本人所有,所以能生成别人无法仿造的文件,也就形成了数字签名。同时,由于数字签名与信息的内容相关,因此,一份经过签名的文件如有改动,就会导致数字签名的验证过程失败,这样就保证了文件的完整性。
以数字证书为核心的加密传输、数字签名、数字信封等安全技术,使得在Internet上可以实现数据的真实性、完整性、保密性及交易的不可抵赖性。

内容

◆Issuer (证书的发布机构)

指出是什么机构发布的这个证书,也就是指明这个证书是哪个公司创建的(只是创建证书,不是指证书的使用者)。对于上面的这个证书来说,就是指"SecureTrust CA"这个机构。

 

◆Valid from , Valid to (证书的有效期)

也就是证书的有效时间,或者说证书的使用期限。 过了有效期限,证书就会作废,不能使用了。

 

◆Public key (公钥)

这个我们在前面介绍公钥密码体制时介绍过,公钥是用来对消息进行加密的,第2章的例子中经常用到的。这个数字证书的公钥是2048位的,它的值可以在图的中间的那个对话框中看得到,是很长的一串数字。

 

◆Subject (主题)

这个证书是发布给谁的,或者说证书的所有者,一般是某个人或者某个公司名称、机构的名称、公司网站的网址等。 对于这里的证书来说,证书的所有者是Trustwave这个公司。

 

◆Signature algorithm (签名所使用的算法)

就是指的这个数字证书的数字签名所使用的加密算法,这样就可以使用证书发布机构的证书里面的公钥,根据这个算法对指纹进行解密。指纹的加密结果就是数字签名(第1.5节中解释过数字签名)。

 

◆Thumbprint, Thumbprint algorithm (指纹以及指纹算法)

这个是用来保证证书的完整性的,也就是说确保证书没有被修改过,这东西的作用和2.7中说到的第3个问题类似。 其原理就是在发布证书时,发布者根据指纹算法(一个hash算法)计算整个证书的hash值(指纹)并和证书放在一起,使用者在打开证书时,自己也根据指纹算法计算一下证书的hash值(指纹),如果和刚开始的值对得上,就说明证书没有被修改过,因为证书的内容被修改后,根据证书的内容计算的出的hash值(指纹)是会变化的。 注意,这个指纹会使用"SecureTrust CA"这个证书机构的私钥用签名算法(Signature algorithm)加密后和证书放在一起。



数字签名

用于验证内容是否被修改

版权声明:本文为博主原创文章,未经博主允许不得转载。

一个HTTP请求的详细过程

1.一个http请求的详细过程 我们来看下当我们在浏览中输入 http://www.mycompany.com:8080/mydir/index.html,背后发生的一切。 首先http是一个...
  • ZhiChu_2025
  • ZhiChu_2025
  • 2016年08月05日 21:43
  • 329

一个HTTP请求的详细过程

1.一个http请求的详细过程 我们来看下当我们在浏览中输入 http://www.mycompany.com:8080/mydir/index.html,背后发生的一切。 首先http是一个...
  • ZhiChu_2025
  • ZhiChu_2025
  • 2016年08月05日 21:43
  • 329

https:浏览器和服务器进行https请求链接到数据传输过程描述

HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺...
  • zjzjzjzzcvc
  • zjzjzjzzcvc
  • 2015年09月11日 10:17
  • 741

HTTPS研究(2)—分解HTTPS连接建立过程

前一篇文章中我们从一些关键的技术点上剖析了https的基本原理,其实是为这篇文章进行一些铺垫,这篇文章中,我们通过抓取数据包的形式,一步步的分析一下https连接建立的过程。       本文的理论...
  • sinat_31828101
  • sinat_31828101
  • 2016年01月12日 00:06
  • 1254

HTTP请求响应过程 与HTTPS区别

HTTPS简介   HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据...
  • changcsw
  • changcsw
  • 2016年09月27日 12:01
  • 2003

NetWork——描述一次完整的网络请求过程

0.  前言从我们在浏览器的地址栏输入http://blog.csdn.net/seu_calvin后回车,到我们看到该博客的主页,这中间经历了什么呢?简单地回答这个问题,大概是经历了域名解析、TCP...
  • SEU_Calvin
  • SEU_Calvin
  • 2017年01月10日 18:53
  • 2552

图解HTTPS协议加密解密全过程

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。   HTTPS简介   HTTPS其实是有两部分组成:...
  • aqiangsz
  • aqiangsz
  • 2016年12月13日 17:10
  • 3186

HTTPS通信建立过程

参考 The First Few Milliseconds of an HTTPS Connection 测试环境,server: https://www.google.com.hk client:...
  • wuzh1230
  • wuzh1230
  • 2014年02月08日 12:55
  • 2641

https 建立连接过程

思考问题的顺序学技术时,总是会问什么?这里也不例外,https为什么会存在,它有什么优点,又有什么缺点?为什么网站有的用http,有的用https?如果不能很好的回答,就往下看吧。http通信存在的问...
  • wangjun5159
  • wangjun5159
  • 2016年05月26日 22:00
  • 10177

Servlet之HTTP请求处理

前言                      前一篇文章了解了Servlet是如何进行开发的,这篇文章笔者将实际进入Servlet开发,进行一些                       ...
  • kiritor
  • kiritor
  • 2013年05月28日 21:40
  • 5259
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HTTPS请求步骤详解
举报原因:
原因补充:

(最多只允许输入30个字)