簡單搭建屬於自己的TLS服務器

目錄
1、mac環境下部署Tomcat服務器
2、配置單項校驗的TLS服務器
3、配置雙向校驗的TLS服務器

1、mac環境下部署Tomcat服務器

首先,進到Tomcat官網進行下載,這裏使用Tomcat8,其他版本在官網也可以找到。

本小節是基於mac環境,window環境可能會稍有不同,請另行百度或google,但2、3小節部分平臺。

下載後,將壓縮包解壓,並命名爲“ApacheTomcat”(個人喜好),放置到/Users/xxx(你的mac用戶名)/Library文件夾中。

打開終端,進入到bin目錄下,可借用下面命令

cd /Users/xxx(你的mac用戶名)/Library/ApacheTomcat/bin

通過以下命令開啓tomcat

./startup.sh

開啓後,在瀏覽器中輸入http://localhost:8080/,如果看到如下界面,說明已經部署成功。

通過以下命令關閉tomcat

./startup.sh

2、配置單項校驗的TLS服務器

進入到Tomcat根目錄的conf,打開server.xml文件,在Service標籤(敲黑板!!小盆友當時大意,放錯位置,導致浪費了些時間)中添加如下代碼

<Connector 
      SSLEnabled="true" 
      acceptCount="100" 
      disableUploadTimeout="true" 
      enableLookups="true" 
      keystoreFile="/Users/xiaopenyou/Desktop/ceri/zinc_server.jks" 
      keystorePass="123456" 
      maxSpareThreads="75" 
      maxThreads="200" 
      minSpareThreads="5" 
      port="8443" 
      protocol="org.apache.coyote.http11.Http11NioProtocol" 
      scheme="https" 
      secure="true" 
      sslProtocol="TLS"
      clientAuth="false"
      />

代碼中需要注意的三個點:

  • keystoreFile:你的密鑰路徑(密鑰如何生成
  • keystorePass:你的密鑰密碼
  • clientAuth:爲false時,說明爲單向校驗,雙向校驗下一小節講

設置完成保存後,重新啓動服務器。在瀏覽器中輸入https://localhost:8443/,你會看到如下熟悉的界面,說明你已經設置成功,因爲這裏使用的是自簽名的證書,所以瀏覽器顯示“不安全”,選擇下面紅色框,便能進入到真正的Tomcat界面,內容和http://localhost:8080/一樣,只是多了“不安全”的提示。


3、配置雙向校驗的TLS服務器

進入到Tomcat根目錄的conf,打開server.xml文件,在Service標籤(敲黑板!!小盆友當時大意,放錯位置,導致浪費了些時間)中添加如下代碼

<Connector 
      SSLEnabled="true" 
      acceptCount="100" 
      disableUploadTimeout="true" 
      enableLookups="true" 
      keystoreFile="/Users/zinc/Desktop/ceri/zinc_server.jks" 
      keystorePass="123456" 
      maxSpareThreads="75" 
      maxThreads="200" 
      minSpareThreads="5" 
      port="8443" 
      protocol="org.apache.coyote.http11.Http11NioProtocol" 
      scheme="https" 
      secure="true" 
      sslProtocol="TLS"
      clientAuth="true"
      truststoreFile="/Users/zinc/Desktop/ceri/zinc_client_for_sever.jks" 
      truststorePass="123456"
      />

代碼中需要注意的三個點:

  • keystoreFile:你的密鑰路徑(密鑰如何生成
  • keystorePass:你的密鑰密碼
  • clientAuth:爲true時,說明爲雙向校驗
  • truststoreFile:客戶端的證書jks文件路徑

注意!!!這裏是jks文件,需要將客戶端證書(即cer文件)轉換爲jks文件,如何轉換可以參考https://www.jianshu.com/p/bfc15dbeedf1第五小節。(這裏當時也浪費了些許時間,一開始直接設置客戶端證書,導致沒法正常使用)

  • truststorePass:客戶端的證書jks文件的密碼

設置完成保存後,重新啓動服務器。在瀏覽器中輸入https://localhost:8443/,會看到如下界面,說明已經設置成功,因爲雙向校驗中,客戶端需要將自己的公鑰傳輸給服務器進行驗證,但是瀏覽器並沒有公鑰,所以會TLS握手失敗,導致無法連接。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章