SSL(Secure Socket Layer,安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持。
SSL可以分为两层:
- SSL记录协议:建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能支持。
- SSL握手协议:它建立在SSL记录协议之上,用于在实际数据传输开始前,通信双方进行身份认证、协商加密算法、交换加密密钥等等。
在Web应用中,是通过HTTPS来实现SSL的。
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即在HTTP下加入SSL层,HTTPS的安全基础是SSL。
实战
1 生成证书
使用SSL首先需要一个证书,这个证书可以是自签名,也可以从SSL证书授权中心获得。
JDK/JRE里有个工具叫做keytool,一个证书管理工具,可以生成自签名证书。
由于已经配好了JDK环境变量,直接在命令行输入
keytool -genkey -alias tomcat -keyalg RSA
坑:在《springboo