標籤:
1、產生伺服器網站認證1) 產生密鑰倉庫
進入jdk的bin目錄,如:D:\jdk1.6.0_16\bin
執行:
D:\jdk1.6.0_16\bin\keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\server.keystore -validity 36500
(參數簡要說明:“D:\server.keystore”含義是將認證倉庫檔案的儲存路徑,認證倉庫檔案名稱是server.keystore ;“-validity 36500”含義是認證有效期間,36500表示100年,預設值是90天 “tomcat”為自訂認證名稱,預設與倉庫檔案名稱一致)
在命令列填寫必要參數:
- 輸入keystore密碼:此處需要輸入大於6個字元的字串(如:123456)。
- “您的名字與姓氏是什嗎?”這是必填項,並且必須是TOMCAT部署主機的網域名稱或者IP,否則瀏覽器會彈出警告視窗,提示使用者認證與所在域不匹配。在本地做開發測試時,應填入“localhost”。
- 你的組織單位名稱是什嗎?”、“您的組織名稱是什嗎?”、“您所在城市或地區名稱是什嗎?”、“您所在的州或者省份名稱是什嗎?”、“該單位的兩字母國家 代碼是什嗎?”可以按照需要填寫也可以不填寫直接斷行符號,在系統詢問“正確嗎?”時,對照輸入資訊,如果符合要求則使用鍵盤輸入字母“y”,否則輸入“n” 重新填寫上面的資訊。
- 輸入<tomcat>的主密碼,這項較為重要,會在tomcat設定檔中使用,建議輸入與keystore的密碼一致,設定其它密碼也可以,完成上述輸入後,直接斷行符號則在你在第二步中定義的位置找到產生的檔案。
2) 產生認證簽章要求
執行:
D:\jdk1.6.0_16\bin\keytool -certreq -alias tomcat -keystore d:\server.keystore -file d:\tomcat.txt
(也可以不匯出簽章要求,則伺服器憑證是一個自簽名的認證,如果不匯出簽章要求,3)、4)、5)不需要操作)
3) 對認證簽章要求進行簽名
將產生的tomcat.txt認證簽章要求發給CA伺服器,產生tomcat.cer
4) 匯入CA認證到keystore
執行:
D:\jdk1.6.0_16\bin\keytool -import -v -alias ca -file d:\CTJ.cer -keystore d:\server.keystore
按提示輸入keystore密碼,即可匯入成功(可使用keytool -list查看)
5) 匯入CA簽名後的認證
把3)中產生的tomcat.cer放到指定路徑
執行:
D:\jdk1.6.0_16\bin\keytool -import -v -trustcacerts -alias tomcat -file d:\tomcat.cer -keystore d:\server.keystore
2、 頒發用戶端認證(雙向認證時需要)
1) 使用CA伺服器頒發用戶端認證(client.pfx)
2) 匯入用戶端認證到本地IE中
雙擊client.pfx,按步驟安裝用戶端認證
3) 匯入CA認證到本地IE中
按步驟安裝CA認證
4) 將該CA認證匯入到1步驟的keystore中
3、配置tomcat伺服器
1) 進入tomcat\conf\目錄,開啟server.xml,找到Connector port="8443"配置段,修改為如下:
<Connector port="8443" protocol="HTTP/1.1"
SSLEnabled="true" maxThreads="150" scheme="https"
secure="true" clientAuth="true" sslProtocol="TLS"
keystoreFile="D:/server.keystore" keystorePass="123456"
truststoreFile="D:/server.keystore" truststorePass="123456"/>
如果是單向認證,則設定clientAuth = "false"。
2) 找到Connector port="8080"配置段,修改為如下:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" />
(重新導向連接埠號碼)
https服務配置完畢。
個人總結,如有描述不準確的地方,望指教。
tomcat搭建https服務