《 空中接口学园 》
>>   技术学习
>>>>  HTTPS学习:证书

--  作者:tom
--  发布时间:2019-03-29 09:28:12
证书是网站的身份证明,是实施HTTPS的重要数据结构。网站会在TLS握手时,向浏览器发送自己的证书。

  证书由三部分组成:证书的内容(不加密)、加密的方法(不加密)以及加密的内容。

  证书的内容非常多,包括证书的版本、序列号、公钥对应的加密方法、发放机构、有效期、证书持有者、证书持有者的公钥以及扩展的内容。

  加密的内容相当于证书的签名,加密的方法需要指出。

  按照加密方法的规定,发放机构计算出证书内容对应的摘要,再用发放机构的私钥按加密方法对摘要进行加密。

  由于私钥是发放机构独有的,其他人无法伪造。这样,浏览器利用发放机构的公钥,可以解出摘要。浏览器并根据证书的内容按照算法自行计算摘要,计算结果与解密后的摘要进行比对,就可以判断证书的内容是否正确,从而验证了网站的身份。


[此贴子已经被作者于2019-03-29 09:45:30编辑过]

--  作者:tom
--  发布时间:2019-03-29 10:20:27
在浏览器当中,我们可以查看HTTPS网站的证书内容。但是这里面有个问题,就是内容的最后会有一个指纹算法以及指纹的内容。

  一开始,我以为指纹是证书的一部分。可是查了证书的内容,发现根本找不到指纹。

  后来,才知道指纹是浏览器管理证书的一个唯一标识,利用指纹算法,根据证书的内容生成。与TLS安全机制没有关系,只是用来管理证书。

  当然,指纹生成的方法与摘要的生成方法很类似,都是利用HASH散列的方法。


--  作者:tom
--  发布时间:2019-03-29 14:09:29
目前证书常用的加密方法是SHA256withRSA,也就是先用SHA256这种散列算法,得到256比特的摘要。再用RSA算法,利用CA的私钥,计算出加密结果。加密的结果一般是2048位,确保足够安全。
目前已经有3条评论    >>> 发表你的见解

Powered by:Old version
Copyright ©2002 - 2019空中接口学园 , 页面执行时间:124.023毫秒