tomcat配置证书

[size=x-small][size=xx-large][size=medium]

1、利用java 生成一个.keystore文件

进入命令行(假设已经设定了环境变量)

执行 keytool -genkey -alias tomcat -keyalg RSA 结果如下

(1)

C:\Users\Administrator>keytool -genkey -alias tomcat -keyalg RSA
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  Ted
您的组织单位名称是什么?
  [Unknown]:  home
您的组织名称是什么?
  [Unknown]:  home
您所在的城市或区域名称是什么?
  [Unknown]:  GZ
您所在的省/市/自治区名称是什么?
  [Unknown]:  广东省广州市
该单位的双字母国家/地区代码是什么?
  [Unknown]:  CN
CN=Ted, OU=home, O=home, L=GZ, ST=广东省广州市, C=CN是否正确?
  [否]:  是

输入 <tomcat> 的密钥口令
(如果和密钥库口令相同, 按回车):

C:\Users\Administrator>

此时在C:\Users\Administrator目录则会生成一个.keystore文件。

(2)

在tomcat的conf文件夹中的server.xml修改一下代码:

将注释代码
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->

改为:

<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"

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

enableLookups="true" disableUploadTimeout="true"

acceptCount="100"maxThreads="200"

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

clientAuth="false" sslProtocol="TLS"

keystoreFile="C:\Users\Administrator\.keystore"

keystorePass="XXX"/>

注意:keystoreFile是文件放置的路径,你可以将文件放在任何位置。

keystorePass是文件的密码,这是你在用java生成文件的时候你设置的密码。



以上两个步骤,就可以为你的web应用添加证书。

但是,如果你希望你的web应用只需要部分需要证书,则可以继续下一步。

(3)在你的web应用中的web.xml添加如下代码:

<security-constraint>
        <web-resource-collection>
            <web-resource-name>securedapp</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>

留意以上代码中<url-pattern>/*</url-pattern>,此时也是整个应用拥有证书,修改一些这个url-pattern,根据你需要的url来修改。则可以实现部分证书功能。
转自:http://m.blog.csdn.net/blog/Ted526200/8499473
[/size][/size][/size]

posted on 2015-05-05 16:43  Msea  阅读(605)  评论(0编辑  收藏  举报

导航