公私钥
公钥和私钥是通过非对称加密算法的到的一个密钥对(公钥和私钥)。公钥是秘钥中可以公开的部分,而私钥则是不能公开的部分,用其中一个秘钥加密则必须使用与其配对的另一个秘钥进行解密。
证书
构成
证书文件一般包含三个部分,待使用公钥,散列算法、将待使用公钥通过该散列算法进行计算得到哈希并使用ca私钥(ca签名)或者待使用公钥本身对应的私钥(自签名)进行加密的加密密文。
检查流程
首先使用证书中颁发者的公钥(ca公钥集成在了系统)将证书中的加密密文进行解密得到哈希,然后将证书中的待使用公钥使用证书指定的散列算法进行计算得到哈希,与之前解密的到的哈希值进行比较,看是否相等。
https流程
1.客户端给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。
2.服务端确定并给出加密算法,一个由服务端生成的随机(Server random)和服务端的证书。
3.客户端检查服务端的证书,再次生成一个新的随机数(Premaster secret)并使用证书中的公钥对其进行加密发送个服务端。
4.服务端收到后使用自己的私钥进行解密得到随机数(Premaster secret)。
5.此时客户端和服务端都已经知道这三个随机数且确定了加密算法,通过这三个随机数和加密算法生成一个对话秘钥(session key)(对称加密)来加密接下来的通过过程。
双向认证流程