MySQL JDBC连接串中sslMode含义、与useSSL、requireSSL的关系

引言

从Java连接MySQL的连接属性中获取sslMode的含义

版本

驱动版本

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.29</version>
</dependency>

服务端版本

Database Version: 8.0.35

SSL参数含义与默认值

序号 默认值 含义
1 sslMode PREFERRED 默认情况下,网络连接是SSL加密的;此属性允许关闭安全连接,或者选择不同的安全级别。
2 useSSL true 与服务器通信时使用SSL(true/false)
3 requireSSL false 如果useSSL=true,则要求服务器支持SSL连接
4 verifyServerCertificate false
/ / / /
1 trustCertificateKeyStoreType JKS 受信任的根证书的密钥存储类型。
2 trustCertificateKeyStoreUrl / 受信任的根证书密钥存储的URL。
[CR]如果未指定,属性“fallbackToSystemTrustStore”将确定是否使用系统范围的信任存储。
3 trustCertificateKeyStorePassword / 受信任的根证书密钥存储的密码。
4 fallbackToSystemKeyStore true 没有为“clientCertificateKeyStoreUrl”设置值是否会返回到使用通过系统属性“javax.net.ssl.keyStore*”定义的系统范围的密钥存储。
/ / / /
1 clientCertificateKeyStoreType JKS 客户端证书的密钥存储类型。JVM支持的标准密钥存储类型是“JKS\”和“PKCS12\”
2 clientCertificateKeyStoreUrl / 客户端证书KeyStore的URL。
如果未指定,属性“fallbackToSystemKeyStore”将确定是否使用系统范围的密钥存储。
3 clientCertificateKeyStorePassword / 客户端证书密钥存储的密码。
4 fallbackToSystemKeyStore true 没有为“clientCertificateKeyStoreUrl”设置值是否会返回到使用通过系统属性“javax.net.ssl.keyStore*”定义的系统范围的密钥存储。"

对应关系梳理

sslMode 含义 useSSL requireSSL verifyServerCertificate
DISABLED 禁用:建立未加密的连接 false
PREFERRED 首选:(默认)如果服务器启用了加密连接,则建立加密连接,否则返回到未加密连接 true false false
REQUIRED 必须:如果服务器启用了安全连接,则建立安全连接,否则将失败 true true false
VERIFY_CA 验证授权:类似于“REQUIRED\”,但还要根据配置的证书颁发机构(CA)证书验证服务器TLS证书;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值