【spring boot】配置ssl證書實現https
阿新 • • 發佈:2019-02-03
【前言】這裡介紹在spring boot中配置真正的ssl證書,而不是自己隨便玩玩的那種證書。
【申請證書】以COMODO申請證書為例:
- 首先在服務上用openssl生成公鑰和私鑰
openssl req -new -key myPrivateKey.key -out server.csr
myPrivateKey.key自己儲存,server.csr提交給代理商進行簽名,代理商簽名完成後會給出 yourDomain.crt檔案- 注意我們是在Java環境中,常用的證書形式有p12格式的,jks格式的,所以需要做轉換,以p12為例:
openssl pkcs12 -export -clcerts -in yourDomain.crt -inkey myPrivateKey.key -out server.p12
這樣生成了spring boot上可以用的私鑰格式檔案 server.p12
在這個轉換的過程中要求輸入一個密碼,請記住這個密碼
【配置spring boot】
- 首先用命令查詢一下別名
keytool -list -keystore server.p12
執行該命令會提示你輸入密碼,就是上面設定的密碼,輸入密碼後會顯示:
您的金鑰庫包含 1 個條目
1, 2017-1-7, PrivateKeyEntry
注意這個1這是我們執行這個命令的目的- 把server.p12複製到spring boot的 src/main/resources/ 目錄下,和application.properties平級
- 在application.properties中新增如下內容
server.port=8443
server.ssl.key-store:classpath:server.p12
server.ssl.key-store-password: 密碼
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: 1
8443是埠號
classpath就是指目錄 src/main/resources/ ,注意冒號,跟上祕鑰檔名
密碼就是上面輸入過的密碼內容
我們用的p12是PKCS12
別名,1,privateKey都是1【結語】直接在springboot裡面配置是為了應對簡單的服務,真正的系統會在nginx上配置證書。