本文介紹如何在Spring Boot應用中配置SSL證書,具體包括下載和上傳證書文件,在Spring Boot應用配置證書文件、證書鏈和證書密碼等參數,以及安裝證書后結果的驗證。成功配置SSL證書后,您將能夠通過HTTPS加密通道安全訪問Spring Boot應用,確保數據傳輸的安全性。
前提條件
步驟一:下載SSL證書
登錄數字證書管理服務控制臺。
在左側導航欄,選擇。
在SSL證書管理頁面,定位到目標證書,在操作列,單擊更多,然后選擇下載頁簽。
在服務器類型為JKS的操作列,單擊下載。
說明Spring Boot支持配置PFX和JKS格式的證書,本文以JKS格式證書為例介紹。如果您需要配置PFX格式的證書,請下載對應格式的證書。
解壓縮已下載的SSL證書壓縮包。
根據您在提交證書申請時選擇的CSR生成方式,解壓縮獲得的文件不同,具體如下表所示。
CSR生成方式
證書壓縮包包含的文件
系統生成或選擇已有的CSR
證書文件(JKS格式):默認以證書ID_證書綁定域名命名。
密碼文件(TXT格式):默認以證書格式-password命名。
重要每次下載證書時都會產生新的密碼,該密碼僅匹配本次下載的證書文件。
手動填寫
如果您填寫的是通過數字證書管理服務控制臺創建的CSR,下載后包含的證書文件與系統生成的一致。
如果您填寫的不是通過數字證書管理服務控制臺創建的CSR,下載后只包括證書文件(PEM格式),不包含證書密碼或私鑰文件。您可以通過證書工具,將證書文件和您持有的證書密碼或私鑰文件轉換成所需格式。轉換證書格式的具體操作,請參見證書格式轉換。
步驟二:在Spring Boot安裝SSL證書
將解壓后的證書文件和密碼文件上傳到Spring Boot項目的根目錄
src/main/resources/
。說明如果您修改過Spring Boot項目的目錄,您需要將證書文件和密碼文件拷貝到與配置文件
application.properties
或application.yml
相同的目錄下。您可以使用遠程登錄工具附帶的本地文件上傳功能,上傳文件。例如PuTTy、Xshell或WinSCP等。如果您使用的阿里云云服務器 ECS,上傳文件具體操作,請參見上傳或下載文件(Windows)或上傳文件到Linux云服務器。
按照以下示例和說明配置
application.properties
或application.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。
進入Spring Boot項目根目錄,執行以下命令重啟Spring Boot項目。
Maven
mvn spring-boot:run
Gradle
gradle bootrun
步驟三:驗證SSL證書是否安裝成功
證書安裝完成后,您可通過訪問證書的綁定域名驗證該證書是否安裝成功。
https://yourdomain #需要將yourdomain替換成證書綁定的域名。
如果網頁地址欄出現小鎖標志,表示證書已經安裝成功。