大家都知道,java中关于网络安全的知识是非常多的,这也是java在日常的学习中比较重要的一个点。java中SSL的定义也是需要掌握的,一起来了解一下吧。
首先,SSL代表安全套接字层。
它是一种用于加密和验证应用程序(如浏览器)和Web服务器之间发送的数据的协议。 身份验证,加密Https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制。
SSL/TLS协议作用是认证用户和服务,加密数据,维护数据的完整性的应用层协议加密和解密需要两个不同的密钥,故被称为非对称加密;加密和解密都使用同一个密钥的对称加密。
优点在于加密、解密效率通常比较高HTTPS 是基于非对称加密的, 公钥是公开的,主要有以下内容:
1、客户端向服务器端发起SSL连接请求;
2、服务器把公钥发送给客户端,并且服务器端保存着唯一的私钥
3、客户端用公钥对双方通信的对称秘钥进行加密,并发送给服务器端
4、服务器利用自己唯一的私钥对客户端发来的对称秘钥进行解密;
5、进行数据传输,服务器和客户端双方用公有的相同的对称秘钥对数据进行加密解密,可以保证在数据收发过程中的安全,即是第三方获得数据包,也无法对其进行加密,解密和篡改。
因为数字签名、摘要是证书防伪非常关键的武器。“摘要”就是对传输的内容,通过hash算法计算出一段固定长度的串。然后,再通过CA的私钥对这段摘要进行加密,加密后得到的结果就是“数字签名”
SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。
以上就是关于SSL基本内容的详细解析了,包含的方面还是非常的广阔的,需要大家多加理解。java中的常见问题还是很多的,想要了解更多内容,敬请关注奇Q工具网。
推荐阅读: