Https系列之二:https的SSL證書在服務器端的部署,基於tomcat,spring boot


https://blog.csdn.net/gary_yan/article/details/77981303

 

Https系列會在下面幾篇文章中分別作介紹:

一:https的簡單介紹及SSL證書的生成 
二:https的SSL證書在服務器端的部署,基於tomcat,spring boot 
三:讓服務器同時支持http、https,基於spring boot 
四:https的SSL證書在Android端基於okhttp,Retrofit的使用

所有文章會優先在: 
微信公眾號“顏家大少”中發布 
之后才發布到下面博客中: 
顏家大少的博客 :http://blog.csdn.net/gary_yan 
轉載請標明出處


一:本文的主要內容介紹

CA證書的下載及相應文件的介紹 
CA證書在tomcat的部署 
CA證書在spring boot的部署 
自簽名證書的部署

二:一些內容的回顧

“Https系列之一:https的簡單介紹及SSL證書的生成” 中已介紹的自簽名證書和CA證書的生成 
其中有提到一個重要文件:keystore文件 
回顧一下keystore是干什么的: 
keystore可理解為一個數據庫,可以存很多個組數據。 
每組數據主要包含下面兩種數據: 
a:密鑰實體(Key entity)——密鑰(secret key)又或者是私鑰和配對公鑰(采用非對稱加密) 
b:可信任的證書實體(trusted certificate entries)——只包含公鑰 
那我們現在要做的就是把keystore文件部署到服務器中就OK了

三:下面我們先說CA證書在服務器端的部署

1:證書的下載

在阿里雲生成的針對tomcat服務器CA證書在申請成功后, 
只要如下圖,選“下載”->”tomcat”->”下載證書for Tomcat” 
這里寫圖片描述
這里寫圖片描述
就能下載相應的tomcat證書文件。 
順便補充一下,在上圖中,除了Tomcat外,還可以針對其它的服務器下相應的證書, 
如:Nginx,Apache,IIS等,有需要的請自行研究。 
下載的文件如下: 
這里寫圖片描述

2:已下載證書各文件的介紹:

1): *.pfx為keystore文件,服務器用的就是這個文件 
2): pfx-password.txt里包含有keystore所用到的密碼 
3): *.key里面包含的是私鑰,暫時沒用到此文件 
4): *.pem里面包含的是公鑰,主要給客戶端

3:針對Tomcat服務器的部署

上圖中的”下載證書for Tomcat”那個頁面有對Tomcat服務器的詳細配置 
如下: 
1):在Tomcat的安裝目錄下創建cert目錄,並且將下載的全部文件拷貝到cert目錄中

2):找到安裝Tomcat目錄下該文件server.xml,一般默認路徑都是在 conf 文件夾中。找到

keystoreFile="cert/*.pfx" keystoreType="PKCS12" #此處的證書密碼,請參考pfx-password.txt中的密碼 keystorePass="證書密碼"
  • 1
  • 2
  • 3
  • 4

完整的配置如下,其中port屬性根據實際情況修改:

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="cert/*.pfx" keystoreType="PKCS12" keystorePass="證書密碼" clientAuth="false" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

4:針對spring boot的部署

spring boot因為是內嵌了tomcat的,理論上對tomcat的配置是一樣的 
只不過spring boot有更簡單的配置方法 
1): 把*.pfx copy到工程相應的resources下面

2):修改resources\application.properties,增加如下屬性

server.port=443 server.ssl.key-store=classpath:*.pfx server.ssl.key-store-password=證書密碼 server.ssl.keyStoreType=PKCS12
  • 1
  • 2
  • 3
  • 4

四:自簽名證書在服務器的配置

其實自簽名證書的配置和CA證書的配置一樣 
只不過: 
1:把*.pfx換成你之前生成的keystore.p12 
2:把密碼換成你之前生成keystore所用的密碼,如在上一節中設置的:123456

五:運行服務器測試https

spring boot環境下,除了增加上面的配置外,並不需要增加任何一句代碼。 
好吧,重要的時刻來了,運行服務器,輸入https網址 
CA證書的如下圖,開心吧,你喜歡的綠色的安全標志 :P : 
這里寫圖片描述

自簽證書的如下圖,顯示不安全呵,但可點“高級”->”繼續訪問“去訪問: 
這里寫圖片描述
更多內容請看:Https系列之三:讓服務器同時支持http、https,基於spring boot

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM