HTTPS请求步骤详解

概念

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)加密后和证书放在一起。



数字签名

用于验证内容是否被修改

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangqi791975/article/details/51545162
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

HTTPS请求步骤详解

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭