首批通过分布式安全可靠测评,为关键业务系统打造
SSL 链路加密
更新时间:2026-05-23 17:18:00
本页面为您介绍 SSL 链路加密的操作步骤。
背景信息
为了提高链路安全性,OceanBase 数据库连接支持开启 SSL(Secure Sockets Layer)加密,通过在传输层对网络连接进行加密,提升通信数据的安全性。在开启 SSL 连接之后,支持设置要求客户端也必须使用 SSL 连接访问。
说明
- 开启 SSL 链路加密后,实例性能将有轻微下降(证书加解密需要消耗一定的计算资源),建议仅在有外网连接或者有传输加密需求的时候开启实例 SSL 链路加密。
- SSL 链路加密功能对直连地址不生效。
TLS 版本说明
TLS(Transport Layer Security)是一种被广泛采用的传输层安全性协议,用来保障互联网通信的私密性和数据安全性。TLS 协议有很多版本,JDK 与 MySQL Connector/J 组合的不同版本对 TLS 的支持情况如下:
| JDK 版本 | MySQL Connector/J 版本 | TLSv1.0 | TLSv1.1 | TLSv1.2 | TLSv1.3 |
|---|---|---|---|---|---|
| JDK 8< 8u291 | - | 支持 | 支持 | 支持 | 不支持 |
| JDK 8:8u291 ~ 8u333 | - | 不支持 | 不支持 | 支持 | 不支持 |
| JDK 8>= 8u341 | < 8.0.19 | 不支持 | 不支持 | 支持 | 不支持 |
| JDK 8>= 8u341 | = 8.0.19 | 不支持 | 不支持 | 支持 | 支持 |
| JDK 9 | - | 支持 | 支持 | 支持 | 不支持 |
| JDK 11 < 11.0.11 | < 8.0.19 | 支持 | 支持 | 支持 | 不支持 |
| JDK 11 < 11.0.11 | >= 8.0.19 | 支持 | 支持 | 支持 | 支持 |
| JDK 11>= 11.0.11 | < 8.0.19 | 不支持 | 不支持 | 支持 | 不支持 |
| JDK 11>= 11.0.11 | >= 8.0.19 | 不支持 | 不支持 | 支持 | 支持 |
说明
TLSv1.0 和 TLSv1.1 已经在 2021 年被 IETF 废弃(RFC8996),出于安全性考虑,推荐使用 TLSv1.2 及以上的 TLS 协议进行安全通信。
操作步骤
登录 OB Cloud 云数据库控制台。
在左侧导航栏单击 集群列表,选择目标集群,进入 集群工作台 页面。
在左侧导航栏单击 安全设置。
在安全设置界面, 默认展示 SSL 链路加密 页签,您可进行如下操作:

单击 SSL 链路加密 开关,开启 SSL 链路加密,开启过程大概需要 3~5 分钟。
单击 强制 SSL 连接 开关,开启表示屏蔽非 SSL 连接。
单击 下载 CA 证书,下载的文件为压缩包,包含如下三个文件:
p7b 文件:用于 Windows 系统中导入 CA 证书。
PEM 文件:用于其他系统或应用中导入 CA 证书。
JKS 文件:Java 中的 truststore 证书存储文件,密码统一为 OceanBase,用于 Java 程序中导入 CA 证书链。
在 Java 中使用 JKS 证书文件时,jdk7 和 jdk8 需要修改默认的 jdk 安全配置,在应用程序所在主机的
jre/lib/security/java.security文件中,修改如下两项配置:jdk.tls.disabledAlgorithms=SSLv3, RC4, DH keySize < 224 jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024若不修改 jdk 安全配置,会报如下错误。其他类似报错,一般也都由 Java 安全配置导致。
javax.net.ssl.SSLHandshakeException: DHPublicKey does not comply to algorithm constraints
单击 SSL 证书有效期右侧的 更新,可以刷新 SSL 证书有效期。
单击 自动更新 SSL 证书有效期 开关,开启后,证书将在到期前 7 天自动更新,每次更新有效时长为 360 天。
单击 查看自动更新记录,可以跳转事件中心查看自动更新证书的具体信息。
常见问题
当 Java 程序连接报错 javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)时,您可以通过以下任一方式解决该问题:
- 在 JDBC 连接串 url 参数中指定 TLS 版本,例如指定 enabledTLSProtocols=TLSv1.2。
- 降低使用的 JDK 版本至 1.8.0_291 以下。