非对称加密
私钥只在自己这边使用;公钥可以相互传递;当客户端发送报文的时候会利用自己的公钥进行加密,并将公钥传递给服务端,服务端利用传递过来的公钥进行解密;
对称加密
客户端和服务端公用一把钥匙进行加密解密;
加密机制原理
1.正常的三次握手;
2.客户端发送client Hello 并且告诉服务器我支持的协议版本(version)比如说SSL或者TLS;还有加密套件,以及将套件生成一个随机数发送给服务端;
3.服务端收到了第一个随机数,sever Hello作为应答 ;并发送给客户端所支持的协议版本(version)和选择的加密套件,并且会发送第二个随机数给客户端;
3.服务端在发送一个(certificate)证书报文给客户端,客户端将证书对其进行验证;还会发送一把公钥 sever key exchange, pubkey :&12&*df8dqdq5&%&6%77*qwe87qweqwoe1212od(这种 我乱打的);
4.服务端发送server hello done 告诉客户端我发送完了;
5.这时客户端会在生成第三个随机数;并用服务端发送的公钥进行加密;并把加密后的发送给服务端;服务器利用自己的私钥进行解密。(以上利用的非对称加密。)
6.服务器和客户端利用前两次的随机数和解密后的随机数(服务器)生成的第三个随机数(客户端)进行加密成会话密钥;
7.这时候客户端发送的报文通过自己这边的会话密钥进行加密后发送给服务端,服务端也有一把一摸一样的会话密钥,在对客户端的报文利用自己的会话密钥进行解密;(这里使用的是对称加密。)
Java加密机制原理及非对称、对称加密
1005

被折叠的 条评论
为什么被折叠?



