全部產品
Search
文件中心

ApsaraDB for OceanBase:SSL 鏈路加密

更新時間:Jul 01, 2025

本頁面為您介紹 SSL 鏈路加密的操作步驟。

背景資訊

為了提高鏈路安全性,OceanBase 資料庫連接支援開啟 SSL(Secure Sockets Layer)加密,通過在傳輸層對網路連接進行加密,提升通訊資料的安全性。在開啟 SSL 串連之後,支援設定要求用戶端也必須使用 SSL 串連訪問。

說明
  • SSL 鏈路加密開啟後暫不支援關閉,執行個體效能將有輕微下降(認證加解密需要消耗一定的計算資源),建議僅在有外網串連或者有傳輸加密需求的時候開啟執行個體 SSL 鏈路加密。

  • OceanBase V2.2.76 及以上版本支援 SSL 鏈路加密功能。

  • 標準版(Key-Value)叢集暫不支援 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

-

支援

支援

支援

不支援

8u291 ~ 8u333

-

不支援

不支援

支援

不支援

>= 8u341

< 8.0.19

不支援

不支援

支援

不支援

>= 8.0.19

不支援

不支援

支援

支援

JDK 9

-

-

支援

支援

支援

不支援

JDK 11

< 11.0.11

< 8.0.19

支援

支援

支援

不支援

>= 8.0.19

支援

支援

支援

支援

>= 11.0.11

< 8.0.19

不支援

不支援

支援

不支援

>= 8.0.19

不支援

不支援

支援

支援

操作步驟

  1. 登入 OceanBase 管理主控台

  2. 在左側導覽列單擊 執行個體列表

  3. 在執行個體列表中找到目的地組群執行個體,單擊叢集執行個體名稱,進入 叢集執行個體工作台 頁面。

  4. 在左側導覽列單擊 安全設定

  5. 單擊 SSL 鏈路加密 頁簽,您可進行如下操作。

    1. 單擊 SSL 鏈路加密 開關,開啟 SSL 鏈路加密,開啟過程大概需要 3~5 分鐘。SSL 鏈路加密成功開啟後,有些版本可選擇是否開啟 強制 SSL 串連。如果頁面不顯示強制 SSL 連結,說明目前的版本不支援強制開啟。強制SSL.png

      說明

      開啟強制 SSL 串連,會屏蔽非 SSL 串連,歷史建立的非 SSL 串連將失效,請注意切換串連方式。

    2. 單擊 下載 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
    3. 單擊 更新有效期間,可以重新整理 SSL 憑證有效期間

      2

    4. 單擊 自動更新 SSL 憑證有效期間 開關,開啟後,認證將在到期前 7 天自動更新,每次更新有效時間長度為 360 天。

      image

常見問題

當 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 以下。