日期:2014-05-17  浏览次数:20914 次

windows环境tomcat应用实现SSL

?

第一步,下载附件,打开命令符窗口,切换到jdk目录下的bin目录下,按附件

?

中/java_security/src/sun/security/demo/chapter3/script.txt ?的脚本创建密钥库。

?

第二步,运行/java_security/src/sun/security/demo/chapter3/SignCert.java 完成自签名。

?

(注意代码中JDK的路径要改成你的实际路径)。

?

第三步,创建D:\ssl?目录,将生成后的文件从D:\Program Files\Java\jdk1.5.0_04\bin ?目录下考贝到D:\ssl 目录下。

?

第四步,在tomcat安装路径下\conf\server.xml文件中加入以下配置。

?

????

启用SSL

?

?

<Connector port="443" protocol = "org.apache.coyote.http11.Http11Protocol" minSpareThreads="5" maxSpareThreads="75"   enableLookups="true" disableUploadTimeout="true" acceptCount="100" maxThreads="200"   
                scheme="https" secure="true" SSLEnabled="true"   
                clientAuth="false" sslProtocol="TLS"   
                keystoreFile="D:\\ssl\\serverStore" keystorePass="p@ssw0rd888168"  
                truststoreFile="D:\\ssl\\rootStore" truststorePass="p@ssw0rd888168"/>

?

?

配置一个虚拟主机

?

?

<Host name="www.comserverdomian.com" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false"> 
       <Context path="" docBase="D:\apache-tomcat-6.0.35-1\webapps\my\" debug="1" reloadable="true" allowLinking="true"></Context> 
      </Host>

?

?

?

第五步,在需要实现SSL的应用下的web.xml文件中加上以下配置。注意<url-pattern>/*</url-pattern>代表该应用下

?

所有URL都要应用SSL,如果只要个别URL,那应该分开写出每个需要应用的<url-pattern>。

?

?

<security-constraint> 
<web-resource-collection> 
<web-resource-name>SecureAPP</web-resource-name> 
<description>App using https</description> 
<url-pattern>/*</url-pattern>
</web-resource-collection> 
<user-data-constraint> 
<description>SSL required</description> 
<transport-guarantee>CONFIDENTIAL</transport-guarantee> 
</user-data-constraint> 
</security-constraint>

?

第六步,如果是在本地测试,需要在C:\WINDOWS\system32\drivers\etc\hosts 文件中增加以下配置

?

?

127.0.0.1    www.comserverdomian.com

?

第七步,完成以上步骤后,在D:\apache-tomcat-6.0.35-1\webapps\my\ 目录下放一个web应用,再启动tomcat,

?

启动成功后打开浏览器,输入地址http://www.comserverdomian.com则应用会自动跳转至

?

https://www.comserverdomian.com 。此时浏览器与应用之间已经建立了SSL通信。

?

声明:以上操作经本人测试有效,附件中代码来源于互联网,并做了相应改动。有不明白之处可以加我QQ:359709421交流。

?

?