Establishing SSL connection without server's identity verification is not recommended.

本文介绍了在使用较高版本MySQL时遇到的SSL连接警告问题,并解释了SSL的工作原理及其在数据库连接中的作用。针对本地部署场景,给出了修改数据库URL参数以禁用SSL的具体方案。

web项目连接数据库出现以下错误:

Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

SSL

SSL(Secure Sockets Layer) 安全套接层,它主要用来保证网络通信中数组安全以及数据完整性的一种协议,工作在传输层与应用层之间。
SSL内部可以分为2层:SSL记录协议和SSL握手协议。

SSL记录协议

建立在可靠的传输层协议(比如TCP)上,一方面它会对应用层的消息请求进行加密和压缩,保证网络传输中数据的安全性和减少网络流量;另一方面它会对接受到传输层的报文信息进行解密和解压缩,以方便应用层更好的使用发送方的消息。

SSL握手协议

可以类比TCP三次握手进行学习,TCP三次握手是为了建立可靠的连接。而SSL握手则是为了认证用户和服务器,确保数据发送到正确的接收方。主要进行身份验证,协商加密算法和交换加密密匙。

解决

因为SSL是为了保证通信双方的安全通信,避免被第三方获取或窃听而存在的。鉴于本次开发数据库服务器是部署在本地,不存在网络中通信,所以我们可以配置数据源时对数据库的url进行以下设置:

    jdbc:mysql://localhost:3306/wenda?useSSL=false

正因为报之前那个错误是我们在配置url未指定是否采用SSL,而高版本的MySQL会采用默认的SSL策略。Spring检测出当前应用并未配置SSL证书,所以给出警告要么不采用SSL,要么设置SSL并为应用提供SSL证书。

参考

[1]https://baike.baidu.com/item/ssl/320778

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值