Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Setup SSL (self signed cert) with tomcat

I am mostly following this page:

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

I used this command to create the keystore

keytool -genkey -alias tomcat -keyalg RSA -keystore /etc/tomcat6/keystore

and answered the prompts

Then i edited my server.xml file and uncommented/edited this line

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" 
           keystoreFile="/etc/tomcat6/keystore" 
           keystorePass="tomcat" />

then I go to the web.xml file for my project and add this into the file

     <security-constraint>
            <web-resource-collection>
                    <web-resource-name>Security</web-resource-name>
                    <url-pattern>/*</url-pattern>
            </web-resource-collection>
            <user-data-constraint>
                    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
            </user-data-constraint>
    </security-constraint>

When I try to run my webapp I am met with this:

Unable to connect

Firefox can't establish a connection to the server at localhost:8443.

*   The site could be temporarily unavailable or too busy. Try again in a few
      moments.

*   If you are unable to load any pages, check your computer's network
      connection.

If I comment out the lines I've added to my web.xml file, the webapp works fine. My log file in /var/lib/tomcat6/logs says nothing. I can't figure out if this is a problem with my keystore file, my server.xml file or my web.xml file.... Any assistance is appreciated

I am using tomcat 6 on ubuntu.

Edit: I changed my server.xml to

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" 
           keystoreFile="/etc/tomcat6/keystore" 
           keystorePass="tomcat" />

incase there was an issue with it being autoconfigured to "APR" as suggested by the tomcat tutorial (not sure if I have that or how to find out if I do). However I am still getting the same error.

like image 413
Daniel Avatar asked Apr 12 '10 03:04

Daniel


People also ask

Does Tomcat use OpenSSL?

Tomcat can use three different implementations of SSL: JSSE implementation provided as part of the Java runtime. JSSE implementation that uses OpenSSL. APR implementation, which uses the OpenSSL engine by default.


1 Answers

Well, I'm an idiot...

I was under the impression that netbeans was restarting my server for me, because eclipse used to know when files that required restarting were changed and it would restart the server for you. Apparently netbeans doesn't have that functionality. Once I've manually restarted the server using the script at /etc/init.d/tomcat6 then everything worked..

Thanks for your help anyway pascal, your questions help me think about what other problems I might be running in to.

like image 73
Daniel Avatar answered Oct 04 '22 03:10

Daniel