BlogJava 联系 聚合 管理  

Blog Stats

随笔分类

随笔档案


chinadave

Tomcat6.0 SSL的配置

J2EE   2009-07-27 15:30   阅读217   评论0  
字号:    

1. 参考:

Tomcat 6.0 自带的文档docs/ssl-howto.html,详细介绍了配置过程。

2. 目的:

       以下详细描述配置过程,仅作为备忘录。

3. 备忘录:

Step1,安装tomcat 6.0.18,此为当前最新版本,需JDK5.0或以上。

l         JDK安装后,可以在命令行下使用如下命令检测是否成功。

C:\Documents and Settings\new>java -version

java version "1.6.0_10"

Java(TM) SE Runtime Environment (build 1.6.0_10-b33)

Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)

看到以上蓝色信息,则表示JDK安装配置成功。

l         Tomcat的运行需要配置JDK_HOMEJRE_HOME环境变量,JRE_HOME默认等于JDK_HOME的值。

Step2,创建服务器端certificate keystore和自签名certificate

       在命令行下使用如下命令:

C:\Documents and Settings\new>keytool -genkey -alias mykey -keyalg RSA -keystore server.keystore

输入keystore密码:123456

再次输入新密码:123456

您的名字与姓氏是什么?

  [Unknown]  dinstone

您的组织单位名称是什么?

  [Unknown]  advance software ltd.

您的组织名称是什么?

  [Unknown]  china

您所在的城市或区域名称是什么?

  [Unknown]  beijing

您所在的州或省份名称是什么?

  [Unknown]  beijing

该单位的两字母国家代码是什么

  [Unknown]  cn

CN=dinstone, OU=advance software ltd., O=china, L=beijing, ST=beijing, C=cn 正确吗?

  []  y

 

输入<mykey>的主密码

        (如果和 keystore 密码相同,按回车):

C:\Documents and Settings\new下可以找到一个文件:server.keystore,其中就包含了自签名的证书。

注意:

       这里要求certificate keystore certificate的密码一致,此为Tomcat的约束。

Step3,在%TOMCAT_HOME%目录下新建目录keystore,并拷贝server.keystore到其目录下。

Step4,修改%TOMCAT_HOME%/conf/server.xml文件。添加httpsConnector

<Connector

           port="8443" minSpareThreads="5" maxSpareThreads="75"

           enableLookups="true" disableUploadTimeout="true"

           acceptCount="100"  maxThreads="200"

           scheme="https" secure="true" SSLEnabled="true"

           keystoreFile="keystore/server.keystore" keystorePass="123456"

           clientAuth="false" sslProtocol="TLS"/>

注意:

       keystoreFile指向文件%TOMCAT_HOME%/keystore/server.keystore文件。

       keystorePass就是刚才生成certificate keystore的密码。

Step5,测试Https。访问https://localhost:8443/,提示有不安全的证书,接受证书,看到可亲的tom猫。

4. 延伸

某些情况下,某些特定资源需要走https协议,如登录请求。这时,我们可以在web.xml中配置约束。

<security-constraint>

       <web-resource-collection>

           <web-resource-name>SSL Resource</web-resource-name>

           <url-pattern>/login.jsp</url-pattern>

       </web-resource-collection>

       <user-data-constraint>

               <transport-guarantee>
                       CONFIDENTIAL

</transport-guarantee>

       </user-data-constraint>

</security-constraint>

这样当使用如下请求访问登录页面时,则服务器将该请求建立在https连接上。

http://localhost:8080/CCB/login.jsp

posted on 2009-12-14 17:30 whoami 阅读(555) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: