请选择 进入手机版 | 继续访问电脑版

大富翁Delphi开发技术网站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3207|回复: 4

[精品文章] Tomcat6通过配置Server.xml文件实现SSL配置

[复制链接]

322

主题

404

帖子

1350

积分

金牌会员

Rank: 6Rank: 6

积分
1350
发表于 2014-6-4 20:02:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 李子木 于 2014-6-4 22:18 编辑

Tomcat实现SSL配置

1:编辑tomcat的配置文件server.xml,去掉下面SSL Connector的注释,修改为如下:
<!-- Define an SSL HTTP/1.1 Connector on port 8443 -->

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"  
           maxThreads="150" scheme="https" secure="true"  
           clientAuth="false" sslProtocol="TLS"   
          keystoreFile="c:\Users\T430\.keystore" keystorePass="444444"/>


2:生成注册码文件
keystoreFile的路径是TOMCAT的安装路径下的tomcat.keystore(使用keytool生成的证书库文件)
在CMD命令下面,执行下面的脚本,tomcat.keystore是生成的注册文件,可以加上路径,这样方便查找
keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore tomcat.keystore
keytool -genkey -alias tomcat -keyalg RSA

keystoreFile保存了服务器端的证书库,用于客户端认证。
具体的一些注意点,在下面的回帖中,目前本地已经测试通过,而且为网站添加了信任





转载请保留当前帖子的链接:http://www.dfwlt.com/forum.php?mod=viewthread&tid=770 谢谢!

搜索简单,分享不易,且分享且珍惜,您难道不想分享下您的心得?如果觉得本文章好的话,您可以在我们网站上注册,然后发布您的好的心得,让大家共同进步,谢谢!

最新添加

回复

使用道具 举报

322

主题

404

帖子

1350

积分

金牌会员

Rank: 6Rank: 6

积分
1350
 楼主| 发表于 2014-6-4 21:23:19 | 显示全部楼层
解决tomcat6.0.33 配置SSL时报“No Certificate file specified or invalid file format”异常

传统的SSL配置
  1. < Connector   port = "443"   protocol = "HTTP/1.1"   SSLEnabled = "true"   
  2.            maxThreads = "150"   scheme = "https"   secure = "true"   
  3.            clientAuth = "true"   sslProtocol = "TLS"   
  4.            keystoreFile = "conf/keystore/test.jks"   keystorePass = "111111"   
  5.            truststoreFile = "conf/keystore/test.jks"     truststorePass = "111111"   
复制代码


需要进行修改
其实就是将protocol="HTTP/1.1"替换为protocol="org.apache.coyote.http11.Http11Protocol",问题得以解决;
APR给Tomcat的性能提升起到很大作用,建议配置APR方式。

  1. < Connector   port = "443"   protocol = "org.apache.coyote.http11.Http11Protocol"   SSLEnabled = "true"   
  2.            maxThreads = "150"   scheme = "https"   secure = "true"   
  3.            clientAuth = "true"   sslProtocol = "TLS"   
  4.            keystoreFile = "conf/keystore/testpsira.jks"   keystorePass = "111111"   
  5.            truststoreFile = "conf/keystore/testpsira.jks"     truststorePass = "111111"
复制代码
回复 支持 反对

使用道具 举报

322

主题

404

帖子

1350

积分

金牌会员

Rank: 6Rank: 6

积分
1350
 楼主| 发表于 2014-6-4 21:44:35 | 显示全部楼层
三、创建证书
1.   服务器中生成证书:
(注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost)
keytool -genkey -alias tomcat -keyalg RSA -keystore d:/mykeystore -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass changeit -storepass changeit
2.   导出证书,由客户端安装:
keytool -export -alias tomcat -keystore d:/mykeystore -file d:/mycerts.cer -storepass changeit
3.   客户端配置:为客户端的JVM导入密钥(将服务器下发的证书导入到JVM中)
keytool -import -trustcacerts -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file d:/mycerts.cer -storepass changeit
四、配置Tomcat SSL
修改server.xml中的SSL服务
<Connector port="8443" maxHttpHeaderSize="8192"
     maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
     enableLookups="false" disableUploadTimeout="true"
     acceptCount="100" scheme="https" secure="true"
     clientAuth="false" sslProtocol="TLS" keystoreFile="server.keystore" keystorePass="changeit"/>
五、常见问题
1.   未找到可信任的证书
主要原因为在客户端未将服务器下发的证书导入到JVM中,可以用
keytool -list -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
来查看证书是否真的导入到JVM中。
2.   keytool错误:java.io.IOException:keystore was tampered with,or password was incorrect
原因是在你的home目录下是否还有.keystore存在。如果存在那么把他删除掉,后再执行
或者删除"%JAVA_HOME%/jre/lib/security/cacerts 再执行
建议直接删掉cacerts再导入
回复 支持 反对

使用道具 举报

322

主题

404

帖子

1350

积分

金牌会员

Rank: 6Rank: 6

积分
1350
 楼主| 发表于 2014-6-4 21:45:00 | 显示全部楼层
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"  
           maxThreads="150" scheme="https" secure="true"  
           clientAuth="false" sslProtocol="TLS"   
          keystoreFile="c:\Users\T430\.keystore" keystorePass="999999"/>
回复 支持 反对

使用道具 举报

322

主题

404

帖子

1350

积分

金牌会员

Rank: 6Rank: 6

积分
1350
 楼主| 发表于 2014-6-4 22:08:12 | 显示全部楼层
无标题.png



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

申请友链|Archiver|手机版|小黑屋|大富翁Delphi开发技术网站 ( 苏ICP备12065705号-4 苏ICP备12065705号-4

GMT+8, 2020-7-6 19:28 , Processed in 0.118206 second(s), 30 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表