TLS SSLContext not available - Tomcat in Eclipse
843811Nov 19 2009 — edited Feb 8 2010Eclipse 3.5
Tomcat 5.5
JDK 1.5.0_22
(this is similar to another post i found here...but it was cleared up by a reinstall of the JDK - mine isn't)
Starting Tomcat in Eclipse works fine for non-SSL configuration of Tomcat. However i now need to get SSL to work.
$TOMCAT_HOME$/conf/server.xml mod....
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="1" scheme="https" secure="true"
keystoreFile="C:\Documents and Settings\XXXXXX\.keystore"
keystorePass="changeit" keystoreType="JKS"
clientAuth="false" sslProtocol="TLS" />
$TOMCAT_HOME$/conf/web.xml mod....
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
$TOMCAT_HOME$/common/lib mod...
added jsse.jar, and jce.jar
Eclipse preferences for Tomcat...
tomcat home: C:\webarch\tomcat
context declaration mode: server.xml (how will it know to read "context.xml" in the same directory???)
config file: C:\webarch\tomcat\conf\server.xml
tomcat base: C:\webarch\tomcat
append to JVM Parms....
-Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol
-Djsse.home="C:\Program Files\Java\jdk1.5.0_22\jre"
-Djava.io.tmpdir="c:\webarch\tomcat\temp"
-Dcatalina.tmpdir="c:\webarch\tomcat\temp"
-Dcatalina.home="c:\webarch\tomcat"
-Dcatalina.base="c:\webarch\tomcat"
-Djava.endorsed.dirs="c:\webarch\tomcat\common\endorsed"
-Djava.util.logging.config.file="c:\webarch\tomcat\conf\logging.properties"
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
Classpath (b4 generated classpath)...
c:\program files\Java\jdk1.5.0_22\lib\tools.jar
c:\webarch\tomcat\bin\bootstrap.jar
Boot Classpath...
c:\program files\Java\jdk1.5.0_22\lib\rt.jar
using "keytool" i have created ".keystore" file w/ "changeit" as the password.
whew! now when i start tomcat i get....
SEVERE: Error initializing endpoint
java.io.IOException: TLS SSLContext not available
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:592)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:266)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
Nov 19, 2009 9:12:03 AM org.apache.catalina.startup.Catalina load
SEVERE: Catalina.start
LifecycleException: Protocol handler initialization failed: java.io.IOException: TLS SSLContext not available
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:592)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:266)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:431)
I'm stuck. according to other posts TLS (and SSL) should be there by default in JDK 1.5.x. I also tried SSL with the same results "SSL SSLContext not available". anyone have suggestions???
thanks in advance.