since a server.xml may have multiple keystores, if there are problems, say which one is the culprit. i.e. in org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(String type, String path, String pass) in the catch blocks, cite at least the "type", and "path", better even also the '<Service name' and '<Connector port' May 10, 2008 8:03:10 AM 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:768) at java.security.KeyStore.load(KeyStore.java:1150) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:321) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeystore(JSSESocketFactory.java:261) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:412) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:383) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:127) at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:496) at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:177) at org.apache.catalina.connector.Connector.initialize(Connector.java:1059) at org.apache.catalina.core.StandardService.initialize(StandardService.java:677) at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:792) at org.apache.catalina.startup.Catalina.load(Catalina.java:518) at org.apache.catalina.startup.Catalina.load(Catalina.java:538) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Service name and port are a little tricky. I have added type and path. This has been committed to trunk and proposed for 6.0.x
This has been applied to 6.0.x and will be in 6.0.17 onwards.