任務(wù)好像是完成代碼的加密荡灾,據(jù)說最簡(jiǎn)單的加密方式就是配置tomcat使用https協(xié)議床估,所以就配置tomcat完成任務(wù)
- 首先我將tomcat單獨(dú)獨(dú)立出來進(jìn)行配置遗契,當(dāng)訪問成功之后黍少,再加入到項(xiàng)目中蛋欣,就成功了航徙。
- 具體的步驟為:
- 進(jìn)入%JAVA_HOME%/bin目錄
- 執(zhí)行命令
keytool -genkey -alias tomcat -keyalg RSA -keystore D:\tomcat.keystore -validity 36500
參數(shù)簡(jiǎn)要說明:“D:\tomcat.keystore”含義是將證書文件保存在F盤,證書文件名稱是tomcat.keystore 陷虎;“-validity 36500”含義是證書有效期到踏,36500表示100年,默認(rèn)值是90天 - 在命令行填寫必要的參數(shù):
A尚猿、輸入keystore密碼:此處需要輸入大于6個(gè)字符的字符串窝稿,設(shè)為123456
B、“您的名字與姓氏是什么凿掂?”這是必填項(xiàng)伴榔,并且必須是TOMCAT部署主機(jī)的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你將來要在瀏覽器中輸入的訪問地址庄萎,本機(jī)為localhost
C踪少、 “你的組織單位名稱是什么?”糠涛、“您的組織名稱是什么援奢?”、“您所在城市或區(qū)域名稱是什么忍捡?”集漾、“您所在的州或者省份名稱是什么?”砸脊、“該單位的兩字母國(guó) 家代碼是什么具篇?”可以按照需要填寫也可以不填寫直接回車,在系統(tǒng)詢問“正確嗎凌埂?”時(shí)栽连,對(duì)照輸入信息,如果符合要求則使用鍵盤輸入字母“y”,否則輸入“n”重新填寫上面的信息
D秒紧、輸入<tomcat>的主密碼,這項(xiàng)較為重要挨下,會(huì)在tomcat配置文件中使用熔恢,建議輸入與keystore的密碼一致,設(shè)置其它密碼也可以 - 完成上述輸入后臭笆,直接回車則在你在第二步中定義的位置找到生成的文件
- 配置tomcat服務(wù)器
(1) 如果你是在Windows環(huán)境中生成證書文件叙淌,則需要將生成的證書tomcat.keystore拷貝到Tomcat將要引用的位置,假設(shè)tomcat的應(yīng)用證書的路徑是“/etc/tomcat.keystore”愁铺,則需要將證書文件拷貝到“etc/”下鹰霍;如果是在Linux環(huán)境按照上述介紹的步驟生成證書文件的話,此時(shí)證書文件已經(jīng)在“etc/”下茵乱。
(2) 配置Tomcat茂洒,打開$CATALINA_HOME/conf/server.xml,修改如下瓶竭,
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改參數(shù)=>
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
去掉注釋且修改參數(shù)=>
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="/etc/tomcat.keystore" keystorePass="www.gbcom.com.cn"/>
注釋:標(biāo)識(shí)為淡藍(lán)色的兩個(gè)參數(shù)督勺,分別是證書文件的位置和<tomcat>的主密碼,在證書文件生成過程中做了設(shè)置
修改參數(shù)=>
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" />
(3) 打開$CATALINA_HOME/conf/web.xml斤贰,在該文件末尾增加:
2.強(qiáng)制https訪問在tomcat\conf\web.xml中的</welcome-file-list>后面加上這樣一段:Java代碼 1. <login-config> 2. 3. <auth-method>CLIENT-CERT</auth-method> 4. <realm-name>Client Cert Users-only Area</realm-name> 5. </login-config> 6. <security-constraint> 7. 8. <web-resource-collection > 9. <web-resource-name >SSL</web-resource-name> 10. <url-pattern>/*</url-pattern> 11. </web-resource-collection> 12. <user-data-constraint> 13. <transport-guarantee>CONFIDENTIAL</transport-guarantee> 14. </user-data-constraint> 15. </security-constraint>3智哀、上述配置完成后,重啟TOMCAT后即可以使用SSL荧恍。IE地址欄中可以直接輸入地址不必輸入“http://” 或者 “https://” 瓷叫;也可以輸入 “http:// ” 會(huì)跳轉(zhuǎn)成為 “https://” 來登錄
4、 注意事項(xiàng):
(1) 生成證書的時(shí)間送巡,如果IE客戶端所在機(jī)器的時(shí)間早于證書生效時(shí)間摹菠,或者晚于有效時(shí)間,IE會(huì)提示“該安全證書已到期或還未生效”
(2) 如果IE提示“安全證書上的名稱無效或者與站點(diǎn)名稱不匹配”授艰,則是由生成證書時(shí)填寫的服務(wù)器所在主機(jī)的域名“您的名字與姓氏是什么辨嗽?”/“What is your first and last name?”不正確引起的
**以上是正常的步驟,但會(huì)出現(xiàn)各種各樣的錯(cuò)誤淮腾,要學(xué)會(huì)啟動(dòng)起來去看控制臺(tái)的輸出糟需,在bin/startup.bat啟動(dòng)tomcat控制臺(tái)的輸出,然后谷朝,因?yàn)槭莟omcat7洲押,所以配置變成了<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" keystoreFile="D:/tomcat.keystore"
keystorePass="123456" sslProtocol="TLS" /> **