You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by "Neil B. Cohen" <nc...@verisign.com> on 2008/11/20 14:45:04 UTC
SSL setup question
I'm having a problem setting up SSL with Tomcat. The situation is this:
I have a system running IBM's Netcool/Portal software. We added SSL to
the Portal a while back. I created a certificate for the machine.
However, Netcool/Portal does not create a keystore file - you simply
copy the certificate as a text file into a specific directory and it
works from there. Netcool/Portal has its own version of the JDK.
Now, on the same machine, I have installed a current JDK (v1.6) and my
own installation of Tomcat (v6.0.16). Runs just fine on port 8080.
I want to add SSL capability to the Tomcat setup so I can talk to it
using https. I created a keystore file using the certificate we
generated for Netcool, as follows:
keytool -importcert -v -trustcacerts -alias tomcat -keystore
<path_to_keystore>/keystore.kdb -file
/opt/netcool/portal/<path_to_cert>/server.crt
Then,
keytool -list -keystore ./keystore.kdb
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
tomcat, Nov 20, 2008, trustedCertEntry,
Certificate fingerprint (MD5):
11:87:A8:7C:BB:55:AC:68:46:34:4F:45:7D:62:9C:AF
So I have a keystore. I set up the tomcat server.xml file:
<Connector port="7443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
clientAuth="false"
keystoreFile="/usr/<path_to_keystore>/keystore.kdb"
keystorePass="<password>"
sslProtocol="TLS" />
And when I start Tomcat, I get an infinite loop in the log file that
looks like:
Nov 20, 2008 1:40:17 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Nov 20, 2008 1:40:17 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-7443
Nov 20, 2008 1:40:17 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 886 ms
Nov 20, 2008 1:40:17 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Nov 20, 2008 1:40:17 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.16
Nov 20, 2008 1:40:18 PM com.sun.faces.config.ConfigureListener
contextInitialize
d
INFO: Initializing Sun's JavaServer Faces implementation
(1.2_04-b20-p03) for co
ntext '/NCAdmin'
Nov 20, 2008 1:40:20 PM org.apache.catalina.core.StandardContext
addApplicationL
istener
INFO: The listener "listeners.ContextListener" is already configured for
this co
ntext. The duplicate definition has been ignored.
Nov 20, 2008 1:40:20 PM org.apache.catalina.core.StandardContext
addApplicationL
istener
INFO: The listener "listeners.SessionListener" is already configured for
this co
ntext. The duplicate definition has been ignored.
Nov 20, 2008 1:40:20 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Nov 20, 2008 1:40:20 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-7443
Nov 20, 2008 1:40:20 PM org.apache.tomcat.util.net.JIoEndpoint$Acceptor run
SEVERE: Socket accept failed
java.net.SocketException: SSL handshake errorjavax.net.ssl.SSLException:
No avai
lable certificate or key corresponds to the SSL cipher suites which are
enabled.
at
org.apache.tomcat.util.net.jsse.JSSESocketFactory.acceptSocket(JSSESo
cketFactory.java:150)
at
org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:
310)
at java.lang.Thread.run(Thread.java:619)
Nov 20, 2008 1:40:20 PM org.apache.tomcat.util.net.JIoEndpoint$Acceptor run
SEVERE: Socket accept failed
java.net.SocketException: SSL handshake errorjavax.net.ssl.SSLException:
No avai
lable certificate or key corresponds to the SSL cipher suites which are
enabled.
at
org.apache.tomcat.util.net.jsse.JSSESocketFactory.acceptSocket(JSSESo
cketFactory.java:150)
at
org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:
310)
at java.lang.Thread.run(Thread.java:619)
Nov 20, 2008 1:40:20 PM org.apache.tomcat.util.net.JIoEndpoint$Acceptor run
SEVERE: Socket accept failed
java.net.SocketException: SSL handshake errorjavax.net.ssl.SSLException:
No avai
lable certificate or key corresponds to the SSL cipher suites which are
enabled.
at
org.apache.tomcat.util.net.jsse.JSSESocketFactory.acceptSocket(JSSESo
cketFactory.java:150)
at
org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:
310)
at java.lang.Thread.run(Thread.java:619)
Nov 20, 2008 1:40:20 PM org.apache.tomcat.util.net.JIoEndpoint$Acceptor run
SEVERE: Socket accept failed
I'm not an SSL expert, so I'm not sure where to look. Am I missing an
intermediate certificate somewhere? Or have I
configured the keystore incorrectly? I'd appreciate any pointers or
suggestions for
getting this running.
Thanks very much,
nbc
NAME: Neil B. Cohen (Verisign Inc.)
PHONE: 703-948-4471
DOMAIN: ncohen@verisign.com
*************************************************************
* Murphy's Philosophy: Smile - tomorrow will be worse... *
* *
* O'Tooles Commentary: Murphy was an optimist! *
*************************************************************
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: SSL setup question
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
the infinite loop is fixed in 6.0.18,
the system will still not start, since the JVM you're running with
doesn't support the type of cipher that you're keystore is trying to use
search http://tomcat.markmail.org for the same error, it's been answered
before
Filip
Neil B. Cohen wrote:
> I'm having a problem setting up SSL with Tomcat. The situation is this:
>
> I have a system running IBM's Netcool/Portal software. We added SSL to
> the Portal a while back. I created a certificate for the machine.
> However, Netcool/Portal does not create a keystore file - you simply
> copy the certificate as a text file into a specific directory and it
> works from there. Netcool/Portal has its own version of the JDK.
>
> Now, on the same machine, I have installed a current JDK (v1.6) and my
> own installation of Tomcat (v6.0.16). Runs just fine on port 8080.
> I want to add SSL capability to the Tomcat setup so I can talk to it
> using https. I created a keystore file using the certificate we
> generated for Netcool, as follows:
>
> keytool -importcert -v -trustcacerts -alias tomcat -keystore
> <path_to_keystore>/keystore.kdb -file
> /opt/netcool/portal/<path_to_cert>/server.crt
>
> Then,
>
> keytool -list -keystore ./keystore.kdb
> Enter keystore password:
>
> Keystore type: JKS
> Keystore provider: SUN
>
> Your keystore contains 1 entry
>
> tomcat, Nov 20, 2008, trustedCertEntry,
> Certificate fingerprint (MD5):
> 11:87:A8:7C:BB:55:AC:68:46:34:4F:45:7D:62:9C:AF
>
> So I have a keystore. I set up the tomcat server.xml file:
>
> <Connector port="7443" protocol="HTTP/1.1" SSLEnabled="true"
> maxThreads="150"
> scheme="https"
> secure="true"
> clientAuth="false"
> keystoreFile="/usr/<path_to_keystore>/keystore.kdb"
> keystorePass="<password>"
> sslProtocol="TLS" />
>
> And when I start Tomcat, I get an infinite loop in the log file that
> looks like:
> Nov 20, 2008 1:40:17 PM org.apache.coyote.http11.Http11Protocol init
> INFO: Initializing Coyote HTTP/1.1 on http-8080
> Nov 20, 2008 1:40:17 PM org.apache.coyote.http11.Http11Protocol init
> INFO: Initializing Coyote HTTP/1.1 on http-7443
> Nov 20, 2008 1:40:17 PM org.apache.catalina.startup.Catalina load
> INFO: Initialization processed in 886 ms
> Nov 20, 2008 1:40:17 PM org.apache.catalina.core.StandardService start
> INFO: Starting service Catalina
> Nov 20, 2008 1:40:17 PM org.apache.catalina.core.StandardEngine start
> INFO: Starting Servlet Engine: Apache Tomcat/6.0.16
> Nov 20, 2008 1:40:18 PM com.sun.faces.config.ConfigureListener
> contextInitialize
> d
> INFO: Initializing Sun's JavaServer Faces implementation
> (1.2_04-b20-p03) for co
> ntext '/NCAdmin'
> Nov 20, 2008 1:40:20 PM org.apache.catalina.core.StandardContext
> addApplicationL
> istener
> INFO: The listener "listeners.ContextListener" is already configured
> for this co
> ntext. The duplicate definition has been ignored.
> Nov 20, 2008 1:40:20 PM org.apache.catalina.core.StandardContext
> addApplicationL
> istener
> INFO: The listener "listeners.SessionListener" is already configured
> for this co
> ntext. The duplicate definition has been ignored.
> Nov 20, 2008 1:40:20 PM org.apache.coyote.http11.Http11Protocol start
> INFO: Starting Coyote HTTP/1.1 on http-8080
> Nov 20, 2008 1:40:20 PM org.apache.coyote.http11.Http11Protocol start
> INFO: Starting Coyote HTTP/1.1 on http-7443
> Nov 20, 2008 1:40:20 PM
> org.apache.tomcat.util.net.JIoEndpoint$Acceptor run
> SEVERE: Socket accept failed
> java.net.SocketException: SSL handshake
> errorjavax.net.ssl.SSLException: No avai
> lable certificate or key corresponds to the SSL cipher suites which
> are enabled.
> at
> org.apache.tomcat.util.net.jsse.JSSESocketFactory.acceptSocket(JSSESo
> cketFactory.java:150)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:
> 310)
> at java.lang.Thread.run(Thread.java:619)
> Nov 20, 2008 1:40:20 PM
> org.apache.tomcat.util.net.JIoEndpoint$Acceptor run
> SEVERE: Socket accept failed
> java.net.SocketException: SSL handshake
> errorjavax.net.ssl.SSLException: No avai
> lable certificate or key corresponds to the SSL cipher suites which
> are enabled.
> at
> org.apache.tomcat.util.net.jsse.JSSESocketFactory.acceptSocket(JSSESo
> cketFactory.java:150)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:
> 310)
> at java.lang.Thread.run(Thread.java:619)
> Nov 20, 2008 1:40:20 PM
> org.apache.tomcat.util.net.JIoEndpoint$Acceptor run
> SEVERE: Socket accept failed
> java.net.SocketException: SSL handshake
> errorjavax.net.ssl.SSLException: No avai
> lable certificate or key corresponds to the SSL cipher suites which
> are enabled.
> at
> org.apache.tomcat.util.net.jsse.JSSESocketFactory.acceptSocket(JSSESo
> cketFactory.java:150)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:
> 310)
> at java.lang.Thread.run(Thread.java:619)
> Nov 20, 2008 1:40:20 PM
> org.apache.tomcat.util.net.JIoEndpoint$Acceptor run
> SEVERE: Socket accept failed
>
> I'm not an SSL expert, so I'm not sure where to look. Am I missing an
> intermediate certificate somewhere? Or have I
> configured the keystore incorrectly? I'd appreciate any pointers or
> suggestions for
> getting this running.
>
> Thanks very much,
>
> nbc
>
> NAME: Neil B. Cohen (Verisign Inc.)
> PHONE: 703-948-4471
> DOMAIN: ncohen@verisign.com
> *************************************************************
> * Murphy's Philosophy: Smile - tomorrow will be worse... *
> * *
> * O'Tooles Commentary: Murphy was an optimist! *
> *************************************************************
>
>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org