0 0

tomcat 配置https 异常3

1.首先用jdk自带的工具keytool生成一个"服务器证书"

JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore C:\tomcat.key
提示输入密码,使用Tomcat的默认值changeit
输入相关信息后确认
将生成PCKS1.2格式的数字证书于C:\tomcat.key


在tomcat server.xml中配置了如下:
<Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
          port="8443" minProcessors="5" maxProcessors="75"
          enableLookups="true" disableUploadTimeout="true"
          acceptCount="100" debug="0" scheme="https" secure="true"
          clientAuth="false" sslProtocol="TLS" keystorePass="changeit"  keystoreFile="C:/tomcat.key" />


JDK1.5

配置应该没错吧,但是服务器启动的时候出现了下面的异常,也访问不了



java.io.IOException: Cannot recover key
at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14SocketFactory.java:125)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:88)
at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:292)
at org.apache.coyote.http11.Http11BaseProtocol.init(Http11BaseProtocol.java:138)
at org.apache.catalina.connector.Connector.initialize(Connector.java:1016)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:580)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:791)
at org.apache.catalina.startup.Catalina.load(Catalina.java:503)
at org.apache.catalina.startup.Catalina.load(Catalina.java:523)
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.load(Bootstrap.java:247)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
- Catalina.start
LifecycleException:  Protocol handler initialization failed: java.io.IOException: Cannot recover key
at org.apache.catalina.connector.Connector.initialize(Connector.java:1018)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:580)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:791)
at org.apache.catalina.startup.Catalina.load(Catalina.java:503)
at org.apache.catalina.startup.Catalina.load(Catalina.java:523)
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.load(Bootstrap.java:247)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
- Initialization processed in 672 ms
- Starting service Catalina
- Starting Servlet Engine: Apache Tomcat/5.5.16
- XML validation disabled
- Starting Coyote HTTP/1.1 on http-7777
- Error starting endpoint
java.io.IOException: Cannot recover key
at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14SocketFactory.java:125)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:88)
at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:292)
at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:312)
at org.apache.coyote.http11.Http11BaseProtocol.start(Http11BaseProtocol.java:150)
at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:75)
at org.apache.catalina.connector.Connector.start(Connector.java:1089)
at org.apache.catalina.core.StandardService.start(StandardService.java:459)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
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:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
- Catalina.start:
LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.io.IOException: Cannot recover key
at org.apache.catalina.connector.Connector.start(Connector.java:1096)
at org.apache.catalina.core.StandardService.start(StandardService.java:459)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
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:275)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)





是不是还需要在哪配置下呢?







问题补充:
maleo 写道
密码不匹配?你重新生成密钥文件,自己指定密码试试



在cmd下
我重新生成了密钥
keytool -genkey -alias tomcat -keyalg RSA -keystore C:\tomcat.key
输入密码的时候,键入:changeit
可系统报了个keytool error异常

异常信息:keytool error:java.lang.Exception:Key pair not generated,alias <tomcat> already exists











问题补充:

OK了,重新生成了次密钥就好了,是之前的
<Connector URIEncoding="UTF-8" acceptCount="300" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxSpareThreads="75" maxThreads="300" minSpareThreads="25" port="8080" redirectPort="8443"/>
没有注释掉,现在
<Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
          port="7777" minProcessors="5" maxProcessors="75"
          enableLookups="true" disableUploadTimeout="true"
          acceptCount="100" debug="0" scheme="https" secure="true"
          clientAuth="false" sslProtocol="TLS" keystorePass="changeit" keystoreFile="C:/tomcat.key" />

换成这个就OK了
2010年6月10日 10:51

2个答案 按时间排序 按投票排序

0 0

采纳的答案

密码不匹配?你重新生成密钥文件,自己指定密码试试

2010年6月10日 11:09
0 0

生成的PCKS1.2格式的数字证书在哪个位置?

2016年11月20日 16:14

相关推荐

    Tomcat server.xml的配置

    Tomcat中server.xml的配置,因为很多刚入门的人可能会因为,错误修改或者删除而使Tomcat运行出现异常

    tomcat健康检查脚本文件异常发送邮件通知.rar

    可配置化shell脚本健康检查tomcat,如果tomcat运行异常会及时发送邮件通知单个或多个管理员

    TOMCAT6.0配置数据库连接池

    Tomcat5的配置需要在server.xml文件当中配置或者在conf/Catalina/localhost下面相应的上下文配置文件做配置Tomcat标准数据源资源工厂配置项如下: * driverClassName - 所使用的JDBC驱动类全称。 * maxActive - 同一...

    tomcat9用户访问配置问题_403Access Denied 无法访问server、Manager、Host Manager

    tomcat9用户访问配置问题_403Access Denied,无法访问server、Manager、Host Manager,这是我花了好久时间才搞好的,网上都没有完整能用版,希望对你有帮助,欢迎下载

    tomcat集群配置说明

    集群配置说明 包含3种配置方式 ,异常处理说明

    tomcat异常配置

    当网站中出现异常时,如404 500等,跳转到指定页面。

    linux下tomcat配置小白级理解

    一共配置了5次,重装了4次linux才弄成,也是有点急了,改完端口后没有等,一直出不来,现在应该没什么问题了, ./shutdown.sh 可能会出现java net 异常

    Eclipse正常启动tomcat,但是访问httplocalhost8080 报404异常处理方法

    打开eclipse的server视图,双击配置好的那个tomcat,出现tomcat配置窗口,看到那个server location 是不是选第一项(默认是第一项),请选到第二项。如果这3项都是灰色的,请删除配置好的tomcat,再重新配置一次,...

    tomcat8get请求url格式问题

    解决方式进入tomcat的server配置中进行添加参数配置 connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" relaxedPathChars="[]{}|\\^" relaxedQueryChars="[]{}|\\^" /&gt;

    Tomcat中配置数据源连接池

    在Tomcat_home\conf\Catalina\localhost\目录下创建数据源连接文件 文件名: 工程名.xml 内容如下: name="JDBC/FUTVAN" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc....

    nginx配置https之后,https请求被调转到http问题

    修改之前,nginx的配置如下: upstream local_tomcat_wechat{  server 127.0.0.1:80 weight=2 fail_timeout=1s; }   server {  listen 443;  server_name www.xxxx.com;  error_log /nginx/log/...

    tomcat-cluster-redis-session-manager:Tomcat集群Redis会话管理器Java客户端

    Tomcat集群Redis会话管理器 Redis会话管理器是可插入的。 它将会话存储到Redis中,以便在Tomcat服务器群集之间轻松分配HTTP请求。 在这里,会话被实现为非粘性的(意味着,每个请求都可以转到集群中的任何服务器,...

    利用httpclient配置HTTPS网站,证书的安装配置。等详细资料,包括工程源码、说明文档、jar包

    这是我最近开发的一个项目的部分资料,因为要用到httpclient开源组件,配置、访问HTTPS网站,其中涉及到的证书的安装异常繁琐,在网上查了很多资料,最后总算成功了。遂觉得有必要制作一个详细的开发说明文档,给有...

    打印日志等异常处理,使用Log4j的配置

    配置根日志:级别:debug #如果一条日志信息的级别大于等于配置文件的级别,就记录配置输出源所对应的辅助类:log4j.appender....#指定文件名 Tomcat的根目录: #指定布局方式(消息放入文件之后,怎样布局)

    springboot常用框架

    基于yml的多profile配置、基于properties的多profile、添加数据验证、配置错误页、全局异常处理、配置Tomcat运行、配置https访问路径、信息显示、 内置对象、显示对象信息、文件上传、使用文件服务器、拦截器、配置...

    "优雅的SSM框架"进行完善(页面分离+nginx负载均衡+tomcat集群)

    统一的异常处理 Redis缓存(ProtoStuff序列化) Redis Sentinel主从高可用方案 Redis Cluster集群高可用方案 Druid(数据源配置 sql防注入 sql性能监控) 前后端分离(Html替代Jsp) Nginx静态加载、负载均衡 基于...

    Java Web项目部署在Tomcat运行出错与解决方法示例

    主要介绍了Java Web项目部署在Tomcat运行出错与解决方法,结合具体实例形式分析了Java Web项目部署在Tomcat过程中由于xml配置文件导致的错误问题常见提示与解决方法,需要的朋友可以参考下

    Eclipse使用入门教程

    tomcat ① 配置 Window→Preferences→Server→...而且如果部署多个,或tomcat异常时,右击Servers窗口中tomcat服务器图标,选择Properties,检查General选项右侧Location是否正确,如果不正确则点击Switch Location。

    tomcat8.5:Tomcat8.5源码解析-源码解析

    Tomcat8.5.X原始解析 IDEA开发工具,JDK1.8,已解决控制台中文乱码问题,500异常。 注意事项 环境建设参考 主类:org.apache.catalina.startup.Bootstrap 参数配置 虚拟机选项: -Dcatalina.home = catalina-home -...

    Tomcat内存溢出的三种情况及解决办法分析

    在JVM中如果98%的时间是用于GC且可用的 Heap size 不足2%的时候将抛出此异常信息。 没有内存泄露的情况下,调整-Xms -Xmx参数可以解决。 -Xms:初始堆大小 -Xmx:最大堆大小 但堆的大小受下面三方面影响: 1...

Global site tag (gtag.js) - Google Analytics