网络安全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" />

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