5.3.5 SSL 精靈 (憑證)

此精靈可協助為 MySQL 用戶端和 MySQL 伺服器建立 SSL 憑證。MySQL Workbench 中的連線會由精靈使用憑證更新。此精靈需要 OpenSSL 來建立憑證。也會產生一個使用產生憑證的範例 MySQL 組態檔 (my.cnf / my.ini)。

注意

OpenSSL 二進位檔應該位於系統的 PATH 中。

從 MySQL 伺服器連線的 SSL 標籤啟動 SSL 精靈。在 MySQL 連線編輯器中找到此標籤。按一下 SSL 精靈以執行精靈,如下圖所示。

圖 5.17 SSL 精靈:啟動

Content is described in the surrounding text.

閱讀歡迎畫面上的說明文字 (如下圖所示),然後按一下 下一步

圖 5.18 SSL 精靈:歡迎

Content is described in the surrounding text.

勾選適用的選項。下圖顯示可用選項的範例。

  • 使用預設參數:勾選此選項可略過輸入選用屬性,例如國家/地區、州/省、組織等等。根據預設,這些欄位為空白。

  • 產生新的憑證和自我簽署金鑰:勾選此選項可產生新檔案,否則會使用現有檔案。如果您已產生 SSL 憑證,但忘記檔案所在位置或如何設定它們,您可能會停用此選項。

  • 更新連線:使用產生的憑證資訊更新已定義的 MySQL 連線 (在 MySQL Workbench 中)。

圖 5.19 SSL 精靈:選項

Content is described in the surrounding text.

結果頁面說明產生的檔案,並提供您必須執行以完成作業的需求。例如,您必須手動編輯 MySQL 組態檔 (my.inimy.cnf) 並定義 SSL 選項。

下圖顯示範例結果畫面。請考慮讓此畫面保持開啟,並在您複製檔案並變更 MySQL 組態檔以啟用 SSL 連線後關閉它。精靈不會為您執行這些動作。

圖 5.20 SSL 精靈:結果

Content is described in the surrounding text.

以下是使用產生的 SSL 檔案設定 SSL 連線的範例流程。調整您的路徑,因為它們會有所不同。

  1. 建立一個目錄以儲存憑證檔案。在此簡單範例中,MySQL Workbench 與 MySQL 伺服器安裝在同一主機上,我們在系統上建立 "C:\certs"。

  2. 將結果複製並貼到新的 (暫時) 檔案中,但將 <directory> 變更為我們建立的路徑 (C:\certs)。例如

    [client]
    ssl-ca=C:\certs\ca-cert.pem
    ssl-cert=C:\certs\client-cert.pem
    ssl-key=C:\certs\client-key.pem
    
    [mysqld]
    ssl-ca=C:\certs\ca-cert.pem
    ssl-cert=C:\certs\\server-cert.pem
    ssl-key=C:\certs\\server-key.pem
    警告

    MySQL 將 "\s" 解譯為空格,因此我們新增了一個額外的反斜線來跳脫它。這就是您在上述範例中看到 "\\server-key.pem" 的原因,因為 MySQL 伺服器會將 "\server-key.pem" 解譯為 " erver-key.pem"。

  3. 開啟 MySQL 伺服器組態檔。在此範例中,其位置為 "C:\ProgramData\MySQL\MySQL Server 5.7\my.ini"。

    注意

    您的組態檔位置取決於 MySQL 伺服器的安裝方式。連線編輯器會定義並顯示其位置,MySQL Workbench 中的 選項檔案頁面也會顯示其位置。

  4. [client] 區段下新增用戶端憑證資訊

    [client]
    ssl-ca=C:\certs\ca-cert.pem
    ssl-cert=C:\certs\client-cert.pem
    ssl-key=C:\certs\client-key.pem

    [mysqld] 區段下新增伺服器憑證資訊

    [mysqld]
    ssl-ca=C:\certs\ca-cert.pem
    ssl-cert=C:\certs\\server-cert.pem
    ssl-key=C:\certs\\server-key.pem
  5. 在 SSL 標籤下更新 MySQL 連線中的 SSL 用戶端憑證路徑。有三個路徑要更新。

  6. 重新啟動 MySQL 伺服器。在記錄檔中,您應該會看到類似「警告 CA 憑證 C:\certs\ca-cert.pem 是自我簽署的。」的訊息。

  7. 在 MySQL 連線編輯器中,按一下 測試連線應該會確認您的 SSL 連線。

此外,請考慮將 使用 SSL 設定為「必要」。或者,如果您遇到問題,請在偵錯問題時將其設定為「如果可用」。