You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Nikolay Kabadzhov <Ni...@rila.com> on 2002/09/12 14:42:41 UTC

"java.io.IOException: Cannot recover key" when trying to start an SSL in tomcat

hi,
Any idea? thank's in advance.

So the situation:
1. I have the following keystore file
 c:\>keytool -list
 Keystore type: jks
 Keystore provider: SUN

 Your keystore contains 3 entries:

 curie, Thu Sep 12 14:46:30 EEST 2002, trustedCertEntry,
 Certificate fingerprint (MD5): 5E:11:3B:EB:C7:DA:2C:A0:BE:75:0E:25:3E:4A:76:12
 tomcat, Thu Sep 12 15:05:43 EEST 2002, keyEntry,
 Certificate fingerprint (MD5): 83:9B:54:06:8D:60:92:FE:A7:D7:98:F5:B4:6D:7F:1A
 mykey, Thu Sep 12 14:42:53 EEST 2002, keyEntry,
 Certificate fingerprint (MD5): E7:4D:63:B6:E1:02:0A:3D:B8:CB:24:F7:E9:B8:80:02

2. My connector looks like:
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8443" minProcessors="5" maxProcessors="75"
               enableLookups="true"
               acceptCount="10" debug="0" scheme="https" secure="true"
               useURIValidationHack="false">
      <Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
               keystorePass="very_secret;-)" clientAuth="false" protocol="TLS" />
    </Connector>

3. jdk1.4.0
4. start tomcat
5. stdout.log says:
 Bootstrap: Create Catalina server
 Catalina.start: LifecycleException:  Protocol handler initialization failed:     java.io.IOException: Cannot recover key
 LifecycleException:  Protocol handler initialization failed: java.io.IOException: Cannot  recover key
        at org.apache.coyote.tomcat4.CoyoteConnector.initialize(CoyoteConnector.java:1004)
        at org.apache.catalina.core.StandardService.initialize(StandardService.java:579)
        at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:2247)
        at org.apache.catalina.startup.CatalinaService.load(CatalinaService.java:234)
        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:324)
        at org.apache.catalina.startup.BootstrapService.init(BootstrapService.java:228)
        at org.apache.catalina.startup.BootstrapService.main(BootstrapService.java:292)
 Bootstrap: Starting service
 Starting service Tomcat-Standalone
 Apache Tomcat/4.1.10

6. stderr.log says:
...
12-Sep-2002 15:18:21 org.apache.coyote.http11.Http11Protocol start
 SEVERE: Error starting endpoint
 java.io.IOException: Cannot recover key
        at org.apache.tomcat.util.net.JSSESocketFactory.initProxy(JSSESocketFactory.java:214)
        at org.apache.tomcat.util.net.JSSESocketFactory.createSocket(JSSESocketFactory.java:127)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:263)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:285)
        at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:161)
        at org.apache.coyote.tomcat4.CoyoteConnector.start(CoyoteConnector.java:1026)
        at org.apache.catalina.core.StandardService.start(StandardService.java:506)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:2191)
        at org.apache.catalina.startup.CatalinaService.start(CatalinaService.java:271)
        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:324)
        at org.apache.catalina.startup.BootstrapService.start(BootstrapService.java:242)
        at org.apache.catalina.startup.BootstrapService.main(BootstrapService.java:302)
7. https://localhost:8443 DOESN'T WORK!!!