1. 程式人生 > 其它 >Https的SSL證書在伺服器端部署,基於tomcat

Https的SSL證書在伺服器端部署,基於tomcat

1、簡述keystore

keystore可理解為一個數據庫,可以存很多個組資料。
每組資料主要包含下面兩種資料:
a. 金鑰實體(Key entity)——金鑰(secret key)又或者是私鑰和配對公鑰(採用非對稱加密)
b. 可信任的證書實體(trusted certificate entries)————只包含公鑰
那就是把keystore檔案部署到伺服器中就OK了。

2、CA證書在伺服器端中的部署

2.1 證書下載

可通過阿里雲網站中"下載" -> "tomcat" -> "下載證書 for tomcat"

在阿里雲網站中同樣可以下載如 Nginx、Apache等伺服器證書檔案。

2.2 下載證書後各檔案的介紹

  1. *.pfx 為 keystore檔案,伺服器用的就是這個檔案;
  2. pfx-password.txt 裡包含有keystore用到的密碼;
  3. *.key 裡面包含的是私鑰,暫時沒用到此檔案;
  4. *.pem 裡面包含的是公鑰,主要給客戶端。

2.3 針對Tomcat伺服器部署

在伺服器的tomcat目錄資料夾.\conf\server.xml配置檔案中

點選檢視程式碼
<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"/>

2.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

3. 自簽名證書在伺服器的配置

其實 自簽名證書 的配置和 CA證書 的配置是一樣的
只不過:

  1. 把*.pfx 換成你之前生成的keystore.p12
  2. 把密碼換成你之前生成keystore所用的密碼

參考連結: https://blog.csdn.net/gary_yan/article/details/77981303