Https系列之二:https的SSL證書在服務(wù)器端的部署,基于tomcat,spring boot

一、本文的主要內(nèi)容

  • 一些內(nèi)容的回顧
  • CA證書的下載及相應(yīng)文件的介紹
  • CA證書在tomcat的部署
  • CA證書在spring boot的部署
  • 自簽名證書的部署

二、一些內(nèi)容的回顧

“Https系列之一:https的簡單介紹及SSL證書的生成” 中已介紹的自簽名證書和CA證書的生成 ,其中有提到一個重要文件:keystore文件

回顧一下keystore是干什么的: keystore可理解為一個數(shù)據(jù)庫,可以存很多個組數(shù)據(jù)。 每組數(shù)據(jù)主要包含下面兩種數(shù)據(jù):

  • 密鑰實體(Key entity)——密鑰(secret key)又或者是私鑰和配對公鑰(采用非對稱加密)
  • 可信任的證書實體(trusted certificate entries)——只包含公鑰
    那我們現(xiàn)在要做的就是把keystore文件部署到服務(wù)器中就OK了

三、CA證書在服務(wù)器端的部署

  1. 證書的下載
    在阿里云生成的針對tomcat服務(wù)器CA證書在申請成功后, 只要如下圖,選“下載”->”tomcat”->”下載證書for Tomcat”




    就能下載相應(yīng)的tomcat證書文件。
    順便補充一下,在上圖中,除了Tomcat外,還可以針對其它的服務(wù)器下相應(yīng)的證書, 如:Nginx,Apache,IIS等,有需要的請自行研究。 下載的文件如下:


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

  3. 針對Tomcat服務(wù)器的部署
    上圖中的”下載證書for Tomcat”那個頁面有對Tomcat服務(wù)器的詳細(xì)配置如下:
    1):在Tomcat的安裝目錄下創(chuàng)建cert目錄,并且將下載的全部文件拷貝到cert目錄中
    2):找到安裝Tomcat目錄下該文件server.xml,一般默認(rèn)路徑都是在 conf 文件夾中。找到

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

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

<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"/>

4:針對spring boot的部署
spring boot因為是內(nèi)嵌了tomcat的,理論上對tomcat的配置是一樣的
只不過spring boot有更簡單的配置方法
1): 把*.pfx copy到工程相應(yīng)的resources下面
2):修改resources\application.properties,增加如下屬性

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

四、自簽名證書在服務(wù)器的配置

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

五、運行服務(wù)器測試https

spring boot環(huán)境下,除了增加上面的配置外,并不需要增加任何一句代碼。 好吧,重要的時刻來了,運行服務(wù)器,輸入https網(wǎng)址,CA證書的如下圖,開心吧,你喜歡的綠色的安全標(biāo)志:



自簽證書的如下圖,顯示不安全呵,但可點“高級”->”繼續(xù)訪問“去訪問:


更多內(nèi)容請看:Https系列之三:讓服務(wù)器同時支持http、https,基于spring boot

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容