網絡安全tomcat配置https

1.cmd定位到jdk的bin目錄,執行以下語句:
keytool -genkey -alias tomcat -keyalg RSA -validity 365
按照要求一步步輸入信息,密碼使用changeit,最後一步讓你輸入密鑰的時候,直接回車。
具體記錄如下:

D:\Program Files\Java\jdk1.7.0_79\bin>keytool -genkey -alias tomcat -keyalg RSA -validity 365

輸入密鑰庫口令:
再次輸入新口令:
您的名字與姓氏是什麼?
[Unknown]: sdlvyue
您的組織單位名稱是什麼?
[Unknown]: db
您的組織名稱是什麼?
[Unknown]: db
您所在的城市或區域名稱是什麼?
[Unknown]: tj
您所在的省/市/自治區名稱是什麼?
[Unknown]: tj
該單位的雙字母國家/地區代碼是什麼?
[Unknown]: zh
CN=sdlvyue, OU=db, O=db, L=tj, ST=tj, C=zh是否正確?
[否]: y

輸入 <tomcat> 的密鑰口令
(如果和密鑰庫口令相同, 按回車):

  這裏要直接按回車。

完畢後會在c盤用戶根目錄下產生一個:.keystore文件,將它拷貝到tomcat的bin目錄下。
2.cmd定位到tomcat的bin目錄,按照下面執行
D:\Tomcat7\bin>keytool -selfcert -alias tomcat -keystore .keystore -validity 365
輸入密鑰庫口令:(此處爲上面生成證書時輸入的changeit)

D:\Tomcat7\bin>keytool -export -alias tomcat -keystore .keystore -storepass changeit -rfc -file tomcat.cer -validity 365

存儲在文件 <tomcat.cer> 中的證書

此時會在D:\Tomcat7\bin>下生成tomcat.cer證書文件。

3.配置tomcat(開發環境需注意server locations配置)

打開conf/server.xml,找到“SSL HTTP/1.1 Connector” 那一塊,取消註釋並將它改成:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="bin/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS" />
4.設置強制以https訪問(開發環境需注意server locations配置)
打開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>
5.去掉端口號
端口改成80,redirectPort改成443
<Connector connectionTimeout="20000" port="80" protocol="HTTP/1.1" redirectPort="443"/>
端口改成443
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
        maxThreads="150" scheme="https" secure="true"
        keystoreFile="bin/.keystore" keystorePass="changeit"
        clientAuth="false" sslProtocol="TLS" />

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