You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Matthew Westwood-Hill <ma...@nuix.com> on 2013/11/01 00:14:09 UTC
Configuring Embedded Tomcat for SSL
Tomcat version: 7.0.47
OS: Windows 7 (x64)
JDK: 1.7
I am attempting to start an embedded instance of Tomcat, which is
configured for SSL only, on port 443. The code I am using is as follows:
*public* *static* *void* *main*(String[] args)
*throws*UnknownHostException, LifecycleException, ServletException {
Tomcat tomcat = *new* Tomcat();
tomcat.setBaseDir("D:\\Temp");
tomcat.addWebapp("/sslapp", "D:\\");
Connector connector = *new* Connector();
connector.setPort(443);
connector.setScheme("https");
connector.setSecure(*true*);
connector.setAttribute("address", "127.0.0.1");
connector.setAttribute("SSLEnabled", *true*);
connector.setAttribute("bindOnInit", *true*);
connector.setAttribute("keystoreFile",
"...\\EngineInstance.keystore");
connector.setAttribute("keystorePass", "password");
connector.setAttribute("clientAuth", "false");
connector.setAttribute("sslProtocol", "TLS");
connector.setAttribute("keyAlias", "test");
connector.setAttribute("keyPass", "password");
tomcat.setConnector(connector);
tomcat.init();
tomcat.start();
tomcat.getServer().await();
}
When I run the above, I receive the following output:
Nov 01, 2013 10:08:07 AM org.apache.catalina.core.StandardService
startInternal
INFO: Starting service Tomcat
Nov 01, 2013 10:08:07 AM org.apache.catalina.core.StandardEngine
startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
Nov 01, 2013 10:08:07 AM org.apache.catalina.startup.ContextConfig
getDefaultWebXmlFragment
INFO: No global web.xml found
It does not look like the connector I created is actually being started.
When I try browsing to the above port using Chrome/IE all it does not
connect.
I thought I was following the correct process base don information I
located on Google, however, it would appear I am still doing something
incorrect.
I have confirmed the existence of the private key in the keystore (using
Keystore Explorer), so all that is fine.
Please, any help would be greatly appreciated.
Cheers,
Matthew
*Matthew Westwood-Hill **
*
Re: Configuring Embedded Tomcat for SSL
Posted by Violeta Georgieva <mi...@gmail.com>.
2013/11/1 Matthew Westwood-Hill <ma...@nuix.com>
>
> Tomcat version: 7.0.47
>
> OS: Windows 7 (x64)
>
> JDK: 1.7
>
>
>
> I am attempting to start an embedded instance of Tomcat, which is
> configured for SSL only, on port 443. The code I am using is as follows:
>
>
>
> *public* *static* *void* *main*(String[] args)
> *throws*UnknownHostException, LifecycleException, ServletException {
>
> Tomcat tomcat = *new* Tomcat();
>
>
>
> tomcat.setBaseDir("D:\\Temp");
>
> tomcat.addWebapp("/sslapp", "D:\\");
>
>
>
> Connector connector = *new* Connector();
>
> connector.setPort(443);
>
> connector.setScheme("https");
>
> connector.setSecure(*true*);
>
>
>
> connector.setAttribute("address", "127.0.0.1");
>
> connector.setAttribute("SSLEnabled", *true*);
>
>
>
> connector.setAttribute("bindOnInit", *true*);
>
>
>
> connector.setAttribute("keystoreFile",
> "...\\EngineInstance.keystore");
>
> connector.setAttribute("keystorePass", "password");
>
> connector.setAttribute("clientAuth", "false");
>
> connector.setAttribute("sslProtocol", "TLS");
>
> connector.setAttribute("keyAlias", "test");
>
> connector.setAttribute("keyPass", "password");
>
>
>
> tomcat.setConnector(connector);
>
> tomcat.init();
>
> tomcat.start();
>
> tomcat.getServer().await();
>
>
>
> }
>
>
>
> When I run the above, I receive the following output:
>
>
>
> Nov 01, 2013 10:08:07 AM org.apache.catalina.core.StandardService
> startInternal
>
> INFO: Starting service Tomcat
>
> Nov 01, 2013 10:08:07 AM org.apache.catalina.core.StandardEngine
> startInternal
>
> INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
>
> Nov 01, 2013 10:08:07 AM org.apache.catalina.startup.ContextConfig
> getDefaultWebXmlFragment
>
> INFO: No global web.xml found
>
>
>
> It does not look like the connector I created is actually being started.
> When I try browsing to the above port using Chrome/IE all it does not
> connect.
>
>
>
> I thought I was following the correct process base don information I
> located on Google, however, it would appear I am still doing something
> incorrect.
>
>
>
> I have confirmed the existence of the private key in the keystore (using
> Keystore Explorer), so all that is fine.
>
> Please, any help would be greatly appreciated.
You may want to check how Embedded Tomcat is used in Tomcat's tests [1].
Regards
Violeta
[1]
http://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java