標籤:
一、產生伺服器端認證檔案可以使用Windows系統或者Linux系統(1)Windows環境條件:已經安裝JDK步驟:1、在運行裡輸入cmd進入命令視窗2、進入JDK安裝目錄 如D:/Program Files/Java/jdk1.6.0/bin3、執行命令 keytool -genkey -alias tomcat -keyalg RSA -keystore E:\tomcat.keystore -validity 36500參數簡要說明:“E:\tomcat.keystore”含義是將認證檔案儲存在E盤,認證檔案名稱是tomcat.keystore ;“-validity 36500”含義是認證有效期間,36500表示100年,預設值是90天4、在命令列填寫必要的參數:A、輸入keystore密碼:此處需要輸入大於6個字元的字串B、“您的名字與姓氏是什嗎?”這是必填項,並且必須是TOMCAT部署主機的網域名稱或者IP[如:gbcom.com 或者 10.1.25.251],就是你將來要在瀏覽器中輸入的訪問地址C、“你的組織單位名稱是什嗎?”、“您的組織名稱是什嗎?”、“您所在城市或地區名稱是什嗎?”、“您所在的州或者省份名稱是什嗎?”、“該單位的兩字母國家代碼是什嗎?”可以按照需要填寫也可以不填寫直接斷行符號,在系統詢問“正確嗎?”時,對照輸入資訊,如果符合要求則使用鍵盤輸入字母“y”,否則輸入“n”重新填寫上面的資訊D、輸入<tomcat>的主密碼,這項較為重要,會在tomcat設定檔中使用,建議輸入與keystore的密碼一致,設定其它密碼也可以5、完成上述輸入後,直接斷行符號則在你在第二步中定義的位置找到產生的檔案(2)Linux環境條件:安裝了JDK步驟:1、進入JDK安裝目錄 如/root/Oracle/Middleware/jdk160_11/bin2、執行命令 ./keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat.keystore -validity 36500參數簡要說明:“/etc/tomcat.keystore”含義是將認證檔案儲存在路徑/usr/local/下,認證檔案名稱是tomcat.keystore ;“-validity 36500”含義是認證有效期間,36500表示100年,預設值是90天3、在命令列填寫必要的參數:A、Enter keystore password:此處需要輸入大於6個字元的字串B、“What is your first and last name?”這是必填項,並且必須是TOMCAT部署主機的網域名稱或者IP[如:gbcom.com 或者 10.1.25.251],就是你將來要在瀏覽器中輸入的訪問地址C、“What is the name of your organizational unit?”、“What is the name of your organization?”、“What is the name of your City or Locality?”、“What is the name of your State or Province?”、“What is the two-letter country code for this unit?”可以按照需要填寫也可以不填寫直接斷行符號,在系統詢問“correct?”時,對照輸入資訊,如果符合要求則使用鍵盤輸入字母“y”,否則輸入“n”重新填寫上面的資訊D、Enter key password for <tomcat>,這項較為重要,會在tomcat設定檔中使用,建議輸入與keystore的密碼一致,設定其它密碼也可以4、 完成上述輸入後,直接斷行符號則在你在第二步中定義的位置找到產生的檔案二、配置TOMCAT伺服器(1) 如果你是在Windows環境中產生認證檔案,則需要將產生的認證tomcat.keystore拷貝到Tomcat將要引用的位置,假設tomcat的應用認證的路徑是“E:/tomcat.keystore”,則需要將認證檔案拷貝到E盤下;(2) 配置Tomcat,開啟tomcat設定檔,如:D:/apache-tomcat-6.0.29/conf/server.xml,修改如下,<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />修改參數=><Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> <!--<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"/> -->去掉注釋且修改參數=><Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="E:/tomcat.keystore" keystorePass="123456789"/>注釋:標識為淡藍色的兩個參數,分別是認證檔案的位置和<tomcat>的主密碼,在認證檔案產生過程中做了設定 <!-- <Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" />-->修改參數=><Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" />(3) 開啟D:/apache-tomcat-6.0.29/conf/web.xml,在該檔案</welcome-file-list>後面加上這樣一段:
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint> 三、上述配置完成後,重啟TOMCAT後即可以使用SSL。IE地址欄中可以直接輸入地址 “http://” 會自動跳轉成為 “https://” 四、注意事項:(1)產生認證的時間,如果IE用戶端所在機器的時間早於認證生效時間,或者晚於有效時間,IE會提示“該安全性憑證已到期或還未生效”(2)如果IE提示“安全性憑證上的名稱無效或者與網站名稱不匹配”,則是由產生認證時填寫的伺服器所在主機的網域名稱“您的名字與姓氏是什嗎?”/“What is your first and last name?”不正確引起的五、遺留問題:(1)如果AC主機不能通過網域名稱尋找,必須使用IP,但是這個IP只有在配置後才能確定,這樣認證就必須在AC確定IP地址後才能產生(2)認證檔案只能綁定一個IP地址,假設有10.1.25.250 和 192.168.1.250 兩個IP地址,在認證組建檔案時,如使用了10.1.25.250,通過IE就只能使用10.1.25.250 來訪問AC-WEB,192.168.1.250是無法訪問AC-WEB的。
tomcat設定http自動跳轉為https訪問