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]
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]