Hello,

I tried 7.0.2 from 6.0.2X with an identical config (I looked at the migration 
guide--no changes needed for my config).

With 7.0.2, my SSL connector failed to start because "password verification 
failed." The logged password and jks file on the in the WARNING an SEVERE log 
statements are correct. Also, I can reliably revert to tomcat 6.0.X with the 
same password and keystore with no error.

Below is error log output as well as my server.xml config. I also narrowed down 
the server.xml config to the minimal changes from the stock server.xml (I have 
elided the real keystore and password).

This may be irrelevant, but my keypass had a '$' character in it, but that has 
always worked in the past.

Any changes to keystore/password handling that would make 7.0.2 not backward 
compatible?

Thank you!
Armando

Aug 18, 2010 6:35:47 PM org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 
'keypass' to 'XXXXXX' did not find a matching property.
Aug 18, 2010 6:35:47 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-80
Aug 18, 2010 6:35:47 PM org.apache.tomcat.util.net.jsse.JSSESocketFactory 
getStore
SEVERE: Failed to load keystore type JKS with path /path/to/conf/XXXXXXXX.jks 
due to Keystore was tampered with, or password was incorrect
java.io.IOException: Keystore was tampered with, or password was incorrect
        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:771)
        at 
sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)
        at java.security.KeyStore.load(KeyStore.java:1185)
        at 
org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:380)
        at 
org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:289)
        at 
org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:524)
        at 
org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:455)
        at 
org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:137)
        at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:357)
        at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:125)
        at 
org.apache.catalina.connector.Connector.initInternal(Connector.java:873)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
        at 
org.apache.catalina.core.StandardService.initInternal(StandardService.java:546)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
        at 
org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:702)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:537)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:560)
        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:597)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.security.UnrecoverableKeyException: Password verification failed
        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:769)
        ... 23 more
Aug 18, 2010 6:35:47 PM org.apache.coyote.http11.Http11Protocol init
SEVERE: Error initializing endpoint
java.io.IOException: Keystore was tampered with, or password was incorrect
        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:771)
        at 
sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)
        at java.security.KeyStore.load(KeyStore.java:1185)
        at 
org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:380)
        at 
org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:289)
        at 
org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:524)
        at 
org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:455)
        at 
org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:137)
        at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:357)
        at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:125)
        at 
org.apache.catalina.connector.Connector.initInternal(Connector.java:873)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
        at 
org.apache.catalina.core.StandardService.initInternal(StandardService.java:546)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
        at 
org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:702)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:537)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:560)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccesso
rImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.security.UnrecoverableKeyException: Password verification failed
        at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:769)
        ... 23 more
Aug 18, 2010 6:35:47 PM org.apache.catalina.core.StandardService initInternal
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-443]]
LifecycleException:  Protocol handler initialization failed: 
java.io.IOException: Keystore was tampered with, or password was incorrect
        at 
org.apache.catalina.connector.Connector.initInternal(Connector.java:875)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
        at 
org.apache.catalina.core.StandardService.initInternal(StandardService.java:546)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
        at 
org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:702)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:99)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:537)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:560)
        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:597)


Here is a diff of minimal server.xml changes against the stock 7.0.2 server.xml 
that reproduce the problem.

--- old 2010-08-18 17:19:36.000000000 -0700
+++ new 2010-08-18 17:18:30.000000000 -0700
@@ -22,7 +22,7 @@
 <Server port="8005" shutdown="SHUTDOWN">
 
   <!--APR library loader. Documentation at /docs/apr.html -->
-  <Listener className="org.apache.catalina.core.AprLifecycleListener" 
SSLEngine="on" />
+  <!-- DISABLE: apr not used <Listener 
className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> -->
   <!--Initialize Jasper prior to webapps are loaded. Documentation at 
/docs/jasper-howto.html -->
   <Listener className="org.apache.catalina.core.JasperListener" />
   <!-- Prevent memory leaks due to use of particular java/javax APIs-->
@@ -51,10 +51,13 @@
   <Service name="Catalina">
   
     <!--The connectors can use a shared executor, you can define one or more 
named thread pools-->
-    <!--
-    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
-        maxThreads="150" minSpareThreads="4"/>
+    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
+        maxThreads="500" minSpareThreads="50"/>
+
     
     
     <!-- A "Connector" represents an endpoint by which requests are received
@@ -62,11 +65,27 @@
          Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
          Java AJP  Connector: /docs/config/ajp.html
          APR (HTTP/AJP) Connector: /docs/apr.html
-         Define a non-SSL HTTP/1.1 Connector on port 8080
+         Define a non-SSL HTTP/1.1 Connector on port 80
     -->
-    <Connector port="8080" protocol="HTTP/1.1" 
-               connectionTimeout="20000" 
-               redirectPort="8443" />
+    <Connector executor="tomcatThreadPool" URIEncoding="UTF-8" server="PC"
+              port="80" protocol="HTTP/1.1" enableLookups="false" 
acceptCount="100"
+              redirectPort="443"
+              disableUploadTimeout="true" connectionTimeout="20000"
+              compression="on" compressionMinSize="2048"
+              
compressableMimeType="text/html,text/css,text/xml,text/javascript,application/x-javascript,application/javascript"
 />
+
+    <Connector executor="tomcatThreadPool" URIEncoding="UTF-8" server="PC"
+              port="443" protocol="HTTP/1.1" enableLookups="false" 
acceptCount="100"
+              disableUploadTimeout="true" connectionTimeout="20000"
+              SSLEnabled="true" secure="true" keyAlias="server" 
keystoreFile="conf/XXXXXXXX.jks" keypass="XXXXXXX" clientAuth="false" 
sslProtocol="TLS"
+              compression="on" compressionMinSize="2048"
+              
compressableMimeType="text/html,text/css,text/xml,text/javascript,application/x-javascript,application/javascript"
 />


     <!-- A "Connector" using the shared thread pool-->
     <!--
     <Connector executor="tomcatThreadPool"
@@ -84,9 +103,9 @@
                clientAuth="false" sslProtocol="TLS" />
     -->
 
-    <!-- Define an AJP 1.3 Connector on port 8009 -->
+    <!-- Define an AJP 1.3 Connector on port 8009
     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-
+    -->
 
     <!-- An Engine represents the entry point (within Catalina) that processes
          every request.  The Engine implementation for Tomcat stand alone
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to