https原理及tomcat配置https方法

來源:互聯網
上載者:User

標籤:tomcat   https   

利用tomcat伺服器配置https雙向認證

方法/步驟

為伺服器產生認證

“運行”控制台,進入%JAVA_HOME%/bin目錄,使用如下命令進入目錄:

cd “c:\ProgramFiles\Java\jdk1.6.0_11\bin”

使用keytool為Tomcat產生認證,假定目標機器的網域名稱是“localhost”,keystore檔案存放在“D:\home\tomcat.keystore”,口令為“password”,使用如下命令產生:

keytool -genkey -v-alias tomcat -keyalg RSA -keystore D:\home\tomcat.keystore -validity 36500 (參數簡要說明:“D:\home\tomcat.keystore”含義是將認證檔案的儲存路徑,認證檔案名稱是tomcat.keystore ;“-validity 36500”含義是認證有效期間,36500表示100年,預設值是90天“tomcat”為自訂認證名稱)。

在命令列填寫必要參數:

A、輸入keystore密碼:此處需要輸入大於6個字元的字串。

B、“您的名字與姓氏是什嗎?”這是必填項,並且必須是TOMCAT部署主機的網域名稱或者IP[如:gbcom.com或者 10.1.25.251](就是你將來要在瀏覽器中輸入的訪問地址),否則瀏覽器會彈出警告視窗,提示使用者認證與所在域不匹配。在本地做開發測試時,應填入“localhost”。

C、你的組織單位名稱是什嗎?”、“您的組織名稱是什嗎?”、“您所在城市或地區名稱是什嗎?”、“您所在的州或者省份名稱是什嗎?”、“該單位的兩字母國家代碼是什嗎?”可以按照需要填寫也可以不填寫直接斷行符號,在系統詢問“正確嗎?”時,對照輸入資訊,如果符合要求則使用鍵盤輸入字母“y”,否則輸入“n”重新填寫上面的資訊。

D、輸入<tomcat>的主密碼,這項較為重要,會在tomcat設定檔中使用,建議輸入與keystore的密碼一致,設定其它密碼也可以,完成上述輸入後,直接斷行符號則在你在第二步中定義的位置找到產生的檔案。

為用戶端產生認證

為瀏覽器產生認證,以便讓伺服器來驗證它。為了能將認證順利匯入至IE和Firefox,認證格式應該是PKCS12,因此,使用如下命令產生:

keytool -genkey -v-alias mykey -keyalg RSA -storetype PKCS12 -keystore D:\home\mykey.p12-validity 36500 (mykey為自訂)。

對應的認證庫存放在“D:\home\mykey.p12”,用戶端的CN可以是任意值。雙擊mykey.p12檔案,即可將認證匯入至瀏覽器(用戶端)。

讓伺服器信任用戶端認證

由於是雙向SSL認證,伺服器必須要信任用戶端認證,因此,必須把用戶端認證添加為伺服器的信任認證。由於不能直接將PKCS12格式的認證庫匯入,必須先把用戶端認證匯出為一個單獨的CER檔案,使用如下命令:

keytool -export -aliasmykey -keystore D:\home\mykey.p12 -storetype PKCS12 -storepass password -rfc-file D:\home\mykey.cer

(mykey為自訂與用戶端定義的mykey要一致,password是你設定的密碼)。通過以上命令,用戶端認證就被我們匯出到“D:\home\mykey.cer”檔案了。

下一步,是將該檔案匯入到伺服器的認證庫,添加為一個信任認證使用命令如下:

     keytool -import -v -file D:\home\mykey.cer -keystoreD:\home\tomcat.keystore

通過list命令查看伺服器的認證庫,可以看到兩個認證,一個是伺服器憑證,一個是受信任的用戶端認證:

keytool -list -keystoreD:\home\tomcat.keystore (tomcat為你設定伺服器端的認證名)。

讓用戶端信任伺服器憑證

由於是雙向SSL認證,用戶端也要驗證伺服器憑證,因此,必須把伺服器憑證添加到瀏覽的“可信任的根憑證授權單位”。由於不能直接將keystore格式的認證庫匯入,必須先把伺服器憑證匯出為一個單獨的CER檔案,使用如下命令:

keytool -keystoreD:\home\tomcat.keystore -export -alias tomcat -file D:\home\tomcat.cer (tomcat為你設定伺服器端的認證名)。

通過以上命令,伺服器憑證就被我們匯出到“D:\home\tomcat.cer”檔案了。雙擊tomcat.cer檔案,按照提示安裝認證,將認證填入到“可信任的根憑證授權單位”。

配置Tomcat伺服器

開啟Tomcat根目錄下的/conf/server.xml,找到Connector port="8443"配置段,修改為如下:

<Connectorport="8443"protocol="org.apache.coyote.http11.Http11NioProtocol"

SSLEnabled="true"maxThreads="150" scheme="https"

secure="true"clientAuth="true" sslProtocol="TLS"

keystoreFile="D:\\home\\tomcat.keystore"keystorePass="123456"

truststoreFile="D:\\home\\tomcat.keystore"truststorePass="123456" />

(tomcat要與產生的服務端認證名一致)

屬性說明:

clientAuth:設定是否雙向驗證,預設為false,設定為true代表雙向驗證

keystoreFile:伺服器憑證檔案路徑

keystorePass:伺服器憑證密碼

truststoreFile:用來驗證用戶端認證的根憑證,此例中就是伺服器憑證

truststorePass:根憑證密碼

測試

在瀏覽器中輸入:https://localhost:8443/,會彈出選擇用戶端認證介面,點擊“確定”,會進入tomcat首頁,地址欄後會有“鎖”表徵圖,表示本次會話已經通過HTTPS雙向驗證,接下來的會話過程中所傳輸的資訊都已經過SSL資訊加密。


本文出自 “蛋黃的一個小夢想” 部落格,謝絕轉載!

https原理及tomcat配置https方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.