全部產品
Search
文件中心

Certificate Management Service:在Spring Boot應用安裝SSL認證

更新時間:Jun 30, 2024

本文介紹如何在Spring Boot應用中配置SSL認證,具體包括下載和上傳認證檔案,在Spring Boot應用配置認證檔案、憑證鏈結和認證密碼等參數,以及安裝認證後結果的驗證。成功配置SSL認證後,您將能夠通過HTTPS加密通道安全訪問Spring Boot應用,確保資料轉送的安全性。

前提條件

  • 已通過數位憑證管理服務控制台簽發認證。具體操作,請參見購買SSL認證提交認證申請

  • SSL認證綁定的網域名稱已完成DNS解析,即您的網域名稱與主機IP地址相互映射。您可以通過DNS驗證認證工具,檢測網域名稱DNS解析是否生效。具體操作,請參見DNS生效驗證

  • 已在Web伺服器開放443連接埠(HTTPS通訊的標準連接埠)。

    如果您使用的是阿里雲ECS伺服器,請確保已經在安全性群組規則入方向添加TCP 443連接埠。具體操作,請參見添加安全性群組規則

說明

如果您認證的密碼編譯演算法為SM2(國密演算法),該認證無法配置在Spring Boot上。您需要吊銷該認證並重新申請密碼編譯演算法為RSA或ECC的認證。關於吊銷認證和申請認證的操作,請參見吊銷SSL認證提交認證申請

步驟一:下載SSL認證

  1. 登入數位憑證管理服務控制台

  2. 在左側導覽列,選擇認證管理 > SSL認證管理

  3. SSL 憑證頁面,定位到目標認證,在操作列,單擊下載

  4. 伺服器類型為JKS的操作列,單擊下載

    說明

    Spring Boot支援配置PFX和JKS格式的認證,本文以JKS格式認證為例介紹。如果您需要配置PFX格式的認證,請下載對應格式的認證。

    image.png

  5. 解壓縮已下載的SSL認證壓縮包。

    根據您在提交認證申請時選擇的CSR產生方式,解壓縮獲得的檔案不同,具體如下表所示。in

    CSR產生方式

    認證壓縮包包含的檔案

    系統產生

    • 認證檔案(JKS格式):預設以認證ID_認證綁定網域名稱命名。

    • 密碼檔案(TXT格式):預設以認證格式-password命名

      重要

      每次下載認證時都會產生新的密碼,該密碼僅匹配本次下載的認證檔案。

    手動填寫

    • 如果您填寫的是通過數位憑證管理服務控制台建立的CSR,下載後包含的認證檔案與系統產生的一致。

    • 如果您填寫的不是通過數位憑證管理服務控制台建立的CSR,下載後只包括認證檔案(PEM格式),不包含認證密碼或私密金鑰檔案。您可以通過認證工具,將認證檔案和您持有的認證密碼或私密金鑰檔案轉換成所需格式。轉換認證格式的具體操作,請參見認證格式轉換

步驟二:在Spring Boot安裝SSL認證

  1. 將解壓後的認證檔案和密碼檔案上傳到Spring Boot專案的根目錄src/main/resources/

    說明

    如果您修改過Spring Boot專案的目錄,您需要將認證檔案和密碼檔案拷貝到與設定檔application.propertiesapplication.yml相同的目錄下。

    您可以使用遠程登入工具附帶的本地檔案上傳功能,上傳檔案。例如PuTTy、Xshell或WinSCP等。如果您使用的阿里雲Elastic Compute Service,上傳檔案具體操作,請參見上傳或下載檔案(Windows)上傳檔案到Linux雲端服務器

  2. 按照以下樣本和說明配置application.propertiesapplication.yml檔案。

    • application.properties

      server.port = 443    #HTTPS協議預設連接埠號碼為443,需要使用其他連接埠時,您可以在此處自訂。
      server.ssl.key-store = classpath:domain_name.jks   #您需要使用實際的認證名稱替換domain_name.jks。
      server.ssl.key-store-password = ********    #填寫jks-password.txt檔案內的密碼。
      server.ssl.keyStoreType = JKS #JKS格式認證密鑰庫類型。PFX格式的認證密鑰庫類型為PKCS12。
    • application.yml

      server:
        port: 443    #HTTPS協議預設連接埠號碼為443,需要使用其他連接埠時,您可以在此處自訂。
        ssl:
          key-store-password: ********    #填寫jks-password.txt檔案內的密碼。
          key-store-type: JKS #JKS格式認證密鑰庫類型。PFX格式的認證密鑰庫類型為PKCS12。
          key-store: classpath:domain_name.jks   #您需要使用實際的認證名稱替換domain_name.jks。
  3. 進入Spring Boot專案根目錄,執行以下命令重啟Spring Boot專案。

    • Maven

      mvn spring-boot:run
    • Gradle

      gradle bootrun

步驟三:驗證SSL認證是否安裝成功

認證安裝完成後,您可通過訪問認證的綁定網域名稱驗證該認證是否安裝成功。

https://yourdomain   #需要將yourdomain替換成認證綁定的網域名稱。

如果網頁地址欄出現小鎖標誌,表示認證已經安裝成功。

相關文檔

如何解決SSL認證部署後未生效或網站顯示不安全