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

相关推荐

    jsp配置+sql配置+tomcat配置

    标题与描述强调了“jsp配置+sql配置+tomcat配置”的关键知识点,这些知识点涵盖了Java Web应用开发中三个核心组件的设置与优化:JSP(Java Server Pages)、SQL(Structured Query Language)数据库配置,以及Tomcat...

    一台服务器多个tomcat配置

    如果 Tomcat 运行异常,出现 java.lang.Exception: Socket bind failed: [730048] ?????????×???( Э?é/??????/??? )????í?????Ρ? 的错误,这可能是因为 tomcat/config/service.xml 中的 ...

    ArcIMS安装及Tomcat配置说明

    《ArcIMS安装及Tomcat配置指南》 在IT领域,ArcIMS是一款由Esri公司开发的用于构建地理信息系统(GIS)Web服务的平台,而Tomcat则是一个广泛使用的开源Java Servlet容器。本指南旨在帮助读者顺利地安装ArcIMS并配置...

    tomcat配置连接池方式

    标题和描述均提到了“tomcat配置连接池方式”,这是在Java Web开发中一个非常重要的主题,涉及到如何高效地管理和复用数据库连接资源。在基于Tomcat的应用服务器中,合理配置连接池对于提升应用程序的性能和响应速度...

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

    本压缩包提供的"tomcat健康检查脚本文件异常发送邮件通知.rar"就是为了解决这个问题,它包含了一个可配置化的Shell脚本,能够定期检查Tomcat的状态,并在检测到异常时自动发送邮件通知给管理员。 首先,我们来详细...

    TOMCAT5.0.28配置说明.doc

    标题与描述均指向同一文档:“TOMCAT5.0.28...面对服务方式下的启动异常,适时调整服务配置,明确指定JDK路径,是解决问题的有效途径。整体而言,遵循文档指导,细致操作,便能有效完成Tomcat的配置并避免常见错误。

    Tomcat6配置连接池

    ### Tomcat6配置连接池详解 #### 一、引言 在Java Web开发中,数据库连接池技术的应用极为广泛。合理的数据库连接管理不仅能提高应用程序的性能,还能有效避免因频繁创建销毁连接所导致的资源浪费问题。Apache ...

    eclipse Tomcat配置

    ### Eclipse Tomcat配置详解 #### 一、J2EE环境下Eclipse中Tomcat配置常见问题解析 在J2EE环境中,使用Eclipse进行开发时,正确配置Tomcat服务器至关重要。然而,不少开发者在配置过程中会遇到一些典型的问题,...

    自动监控 Windows平台Tomcat运行监控并自动重启

    1. **日志分析**:定期分析Tomcat的日志,找出导致服务假死或异常的常见原因,优化系统配置或代码以减少这类问题的发生。 2. **故障转移**:如果可能,可以设置Tomcat集群,当一个节点出现问题时,流量可以自动切换...

    Tomcat配置数据源连接池示例

    总结来说,Tomcat配置数据源连接池是一个关键步骤,它可以显著提升应用程序处理数据库请求的能力。通过合理配置连接池参数,可以有效防止资源浪费,确保系统稳定运行。HikariCP因其高性能和易用性,成为许多开发者的...

    java tomcat 配置方法

    ### Java Tomcat配置方法详解 #### 一、Java环境配置 在进行Tomcat服务器的配置之前,首先需要确保系统中已经正确安装了Java环境。Java环境主要包括JDK(Java Development Kit)的安装以及环境变量的设置。 #####...

    Tomcat server.xml的配置

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

    tomcat6异常问题

    在处理“tomcat6异常jar包版本问题”时,以下步骤可能有所帮助: 1. **分析日志**:仔细阅读Tomcat的`catalina.out`或`localhost.log`文件,这些日志通常会给出错误的详细信息,包括缺失或冲突的jar包。 2. **检查...

    Tomcat配置

    同样,通过`startup.bat`或`shutdown.bat`命令在Tomcat的`bin`目录下启动或关闭服务器,若无异常且能正常启动,表明Tomcat配置成功。 在实际应用中,Tomcat配置还包括修改`conf/server.xml`以配置端口、虚拟主机、...

    tomcat日志配置.docx

    Tomcat 日志配置 Tomcat 是一个流行的 Java Web 服务器,可以生成大量的日志信息,以便管理员跟踪和调试服务器的行为。配置 Tomcat 的日志级别和日志查看是非常重要的。本文将详细介绍 Tomcat 的日志配置,包括日志...

    tomcat配置数据源

    ### Tomcat配置数据源 在Java Web开发过程中,数据库连接是一项非常重要的工作。为了提高数据库访问效率、降低系统资源消耗,通常会使用连接池技术。Tomcat作为一款流行的Java应用服务器,内置了对多种数据库连接池...

    tomcat5.0.x与tomcat5.5.x的配置有较大区别

    标题中的“tomcat5.0.x与tomcat5.5.x的配置有较大区别”指的是在升级或迁移Tomcat版本时,配置文件的差异可能导致应用无法正常运行。这两个版本之间的主要区别在于`server.xml`配置文件中对Web应用程序的设置方式,...

    ssh_jdk1.7+tomcat8.5环境配置完整版

    本配置包“ssh_jdk1.7+tomcat8.5”是针对使用JDK 1.7版本和Tomcat 8.5版本进行SSH框架集成开发的环境配置。在Java开发中,正确配置这些工具是至关重要的,因为它直接影响到项目的运行效率和开发体验。 首先,我们来...

    tomcat连接池配置

    本文将详细探讨Tomcat连接池的配置,包括其原理、配置步骤以及优化策略。 一、连接池原理 连接池是一种资源管理技术,用于存储数据库连接。它预先创建一定数量的数据库连接,当应用程序需要时可以从池中获取,使用...

Global site tag (gtag.js) - Google Analytics