tomcat 配置 ssl 求助

sorh11 2008-04-14 02:06:00
TOMCAT 6.0
JDK 5.0

.keystore 文件
C:\jdk1.5.0\bin>keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -keystore c:/.keystore -validity 365

server.xml文件
<Connector port="80" protocol="HTTP/1.1"
maxThreads="150" connectionTimeout="20000"
redirectPort="8443" />

<Connector
port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="true">
<Factory
clientAuth="false"
keystoreFile="c:\.keystore"
sslProtocol="TLS"
keystorePass="nicolweb" />
</Connector>

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

然后登陆 https://127.0.0.1:8443/
无法显示网页

不知道哪里错了。
...全文
859 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
sorh11 2008-04-16
  • 打赏
  • 举报
回复
是密码的问题,谢谢大家关心。 散分了
sxdgundam 2008-04-16
  • 打赏
  • 举报
回复
网上摘的一个介绍LZ参考,6楼的用的jdk太老,KeyStore好像从5开始就可以用JDK 的 keytool 生成
一、生成 KeyStore

这一步比较简单,利用 JDK 自带的 keytool 即可完成。命令如下:

wakan@wakan:~/tomcat2/bin> keytool -genkey -alias tomcat -keyalg RSA
输入keystore密码: ************
您的名字与姓氏是什么?
[Unknown]: Wakan.Jiang
您的组织单位名称是什么?
[Unknown]: ZZNode
您的组织名称是什么?
[Unknown]: ZZNode
您所在的城市或区域名称是什么?
[Unknown]: BeiJing
您所在的州或省份名称是什么?
[Unknown]: BeiJing
该单位的两字母国家代码是什么
[Unknown]: CN
CN=Wakan.Jiang, OU=ZZNode, O=ZZNode, L=BeiJing, ST=BeiJing, C=CN 正确吗?
[否]: 是

输入<tomcat>的主密码
(如果和 keystore 密码相同,按回车):

特别说明:上边输入的“<tomcat>的主密码”,与keystore密码一定要相同,否则TOMCAT起不来。至少我试了几次都不行。报错如下:
2007-3-26 17:07:01 org.apache.coyote.http11.Http11BaseProtocol init
严重: Error initializing endpoint
java.io.IOException: Cannot recover key
at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14Socket Factory.java:125)

二、修改 server.xml

在 TOMCAT/conf/server.xml 中,修改与 SSL 相关的那一段,我改成下面这样:
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true" keystorePass="******"
clientAuth="false" sslProtocol="TLS" />

这里要指定keystorePass,如果写错了,会出现下边的错误:
严重: Error initializing endpoint
java.io.IOException: Keystore was tampered with, or password was incorrect
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:768)

三、启动 Tomcat

这一步比较简单,就不多说了。启动完成后,在浏览器中输入:https://localhost:8443,即可看到TOMCAT的主页面。
sxdgundam 2008-04-16
  • 打赏
  • 举报
回复
LZ看看我的配置文件,应该是keystoreFile和keystorePass没填吧。我的环境:jdk-6u5、apache-tomcat-6.0.16另:clientAuth应该是做双向认证的,我这只是单向的客户只能看看我自己造的证书,双向等高人讲解。
<Connector className="org.apache.coyote.tomcat6.CoyoteConnector"
port="8443" minProcessors="5"
maxProcessors="75" enableLookups="true"
acceptCount="100"
protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:\apache-tomcat-6.0.16\bin\.keystore"
keystorePass="syndaboss" />
sorh11 2008-04-16
  • 打赏
  • 举报
回复
2008-4-14 11:48:02 org.apache.coyote.http11.Http11Protocol start
严重: Error starting endpoint
java.io.IOException: Cannot recover key
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:394)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:125)
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:494)
at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:513)
at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:202)
at org.apache.catalina.connector.Connector.start(Connector.java:1132)
at org.apache.catalina.core.StandardService.start(StandardService.java:460)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-4-14 11:48:02 org.apache.catalina.startup.Catalina start
log里的报错。应该是 key文件做的不对。
windleo 2008-04-15
  • 打赏
  • 举报
回复
看的我好吃力啊,
一步一步重头来做,就OK了吗
nanjg 2008-04-15
  • 打赏
  • 举报
回复
nanjg 2008-04-15
  • 打赏
  • 举报
回复
证书的问题 你参考下上面的教程
nanjg 2008-04-15
  • 打赏
  • 举报
回复
你照着教程改改吧
sorh11 2008-04-15
  • 打赏
  • 举报
回复
:<
装了一台虚拟机。。。 不是os配置的问题
sorh11 2008-04-14
  • 打赏
  • 举报
回复
错误是 打开ie 输入
https://127.0.0.1:8443/

显示:
无法显示网页
您正在查找的页当前不可用。 网站可能遇到支持问题,或者您需要 调整您的浏览器设置。

--------------------------------------------------------------------------------

请尝试以下操作:

单击 刷新按钮,或稍后重试。

如果您已经在地址栏中输入该网页的地址, 请确认其拼写正确。

要检查您的网络连接,请单击工具菜单,然后单击 Internet 选项。在连接选项卡上,单击设置。 设置必须与您的局域网 (LAN) 管理员或 Internet 服务供应商 (ISP) 提供的一致。
查看您的 Internet 连接设置是否正确被检测。您可能设置让 Microsoft Windows 检查您的网站并自动发现网络连接设置(如果您的网络管理员已经启用此设置)。
单击工具菜单,然后单击Internet 选项。
在连接选项卡上,单击LAN 设置。
选择自动检测设置,然后单击确定。
某些站点要求 128-位的连接安全性。单击帮助菜单,然后单击关于 Internet Explorer 可以查看您所安装的安全强度。
如果您要访问某安全站点,请确保您的安全设置能够支持。请单击工具菜单,然后单击 Internet 选项。在“高级”选项卡上,滚动到“安全”部分,复选 SSL 2.0、SSL 3.0、TLS 1.0、PCT 1.0 设置。
单击上一步按钮,尝试其他链接。



找不到服务器或 DNS 错误
Internet Explorer
xby123 2008-04-14
  • 打赏
  • 举报
回复
能把错误弄出来吗?
sorh11 2008-04-14
  • 打赏
  • 举报
回复
我们的一个项目中用到了Tomcat服务器,由于用户对安全性有一定的要求,于是我们就用到了SSL。配置也很简单,下面我按步骤加以说明。
  
  1、安装
  
  安装jdk1.4;
  
  安装Tomcat,我这里使用的是5.0.9;
  
  到http://java.sun.com/products/jsse/去下载jsse,我用的是1.0.3;下载下来后是一个zip包,把里边lib目录下的jar包复制到你的jdk目录下的jre\lib\ext目录中,是三个文件:jsse.jar;jnet.jar;jcert.jar
  
  2、配置
  
  做一个keystore文件,用下面的命令:
  
  %JAVA_HOME%\bin\keytool -genkey
  -alias tomcat -keyalg RSA -keystore
  \path\to\my\keystore
  
  注:-keystore 后边更的就是你的keystore文件,自己取一个就是了。这里我改的是配置文件,该文件在tomcat目录下的config目录里,文件名是:server.xml,修改的部分就是把如下段落的注释去掉就可以了:
  
  <Connector port="8443"
   maxThreads="150" minSpareThreads="25"
   maxSpareThreads="75"
   enableLookups="false"
   disableUploadTimeout="true"
   acceptCount="100" debug="0"
   scheme="https" secure="true"
   keystorePass="111111"
   keystoreFile="D:\Tomcat 5.0\conf\.keystore">
     <Factory clientAuth="false"
    protocol="TLS" />
    </Connector>
  
  注:keystorePass="111111" keystoreFile="D:\Tomcat 5.0\conf\.keystore"就是我添加进去的配置信息,前边是keystore的密码,后边是文件。
  
  3、测试
  
  如果按照上边的步骤做了,就可以测试一下有没有配置成功,在浏览器中输入:
  
  http://localhost:8443/
  
  4、资源
  
  Tomcat:http://jakarta.apache.org/tomcat/
  
  原文:http://jakarta.apache.org/tomcat/tomcat-5.5-doc/ssl-howto.html
参考的是这个东西
sorh11 2008-04-14
  • 打赏
  • 举报
回复
标题上的是ssl,不好意思没用大写。。。
另web.xml 要配置么?貌似教程上没有说过俄
babyzn 2008-04-14
  • 打赏
  • 举报
回复
你只需要把原来那个文件的8080改成你现在想要的就可以了,我记得只需要该一个地方就ok了
南南北北 2008-04-14
  • 打赏
  • 举报
回复
关注。。。
吴冬冬 2008-04-14
  • 打赏
  • 举报
回复
= = 楼主的帖子是SSI 内容却是SSL 让人看的痛苦
吴冬冬 2008-04-14
  • 打赏
  • 举报
回复
web.xml配置了吗?

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧