通信的参与者包括证书颁发机构,服务器,和客户端
加密过程:加密的内容+密钥+加密所用的算法=密文
hash值(指纹):不同内容的hash值是不一样的且hash不可逆
hash算法(指纹算法):计算hash值(指纹)的算法
签名:hash值的加密结果,加密的原因是因为要防止修改内容的同时修改对应的hash值
对称加密:公钥和私钥是一样的。
非对称加密:公钥和私钥是不一样的。
公钥密码体制:通过公钥和加密算法加密,再通过私钥和解密算法解密。
RSA:公钥密码体制的一种,公钥秘钥可以互相并且只能由对方加密解密,即公钥加密的可以且只可以由私钥解密,私钥加密的可以且只可以由公钥解密。
通信过程:(1)服务器向客户端发送用证书私钥加密的密文+明文,客户端用证书公钥解密,看解密的内容和明文是否一致,来确认是否是由服务器发来的。
(2)确认服务器身份后客户端把自己生成密钥和加密算法用证书公钥加密后发送给服务器,发送的内容只能由证书私钥才能解密,解密后双方就使用这个密钥和加密算法进行对称加密通信。
数字证书的签名:就是证书内容的hash值的加密结果,也就是指纹加密结果,加密算法在证书里有注明。加密的密钥(私钥)是证书颁发机构自己的证书的私钥(不是颁发给服务器的证书里面的公钥对应的私钥),就是说颁发机也有证明自己身份的证书,这个证书一般是由证书机构自己生成的,在装操作系统的时候就被微软内置到系统内了(权威证书颁发机构的证书即根证书),里面有证书机构的公钥,拿到数字证书后用证书机构的公钥解开签名和指纹算法(指纹算法也会加密),得到指纹和指纹算法,使用指纹算法计算证书指纹,看是否和解密后的指纹一致,从而确定数字证书是否是由证书中注明的颁发机构发布的,以及证书公钥和证书是否可用。
https通信过程
最新推荐文章于 2024-04-08 14:07:35 发布