Configure SSL on pre-deployed Tomcat
Enable HTTPS directly on the pre-deployed Tomcat that ships with the iGrafx platform.
Prerequisites
- A
.pfxcertificate. - A system with OpenSSL (this guide uses Linux). If you already have
.keyand.crtfiles, skip to Configure SSL.
Steps
Create the .key and .crt files
Convert MyCert.pfx into MyCert.key and MyCert.crt:
openssl pkcs12 -in MyCert.pfx -nocerts -out MyCert.private.key
openssl rsa -in MyCert.private.key -out MyCert.key
openssl pkcs12 -in MyCert.pfx -clcerts -nokeys -out MyCert.crt
Copy MyCert.key and MyCert.crt to the platform server, into ...\iGrafx-Platform\igrafxdata.
Configure SSL
Adjust server.xml and, optionally, web.xml.
server.xml (...\iGrafx-Platform\apache-tomcat-9.0.xxx\conf\server.xml) — comment out the existing connector and add an SSL connector below it, with the correct paths to MyCert.crt and MyCert.key:
<!-- <Connector port="${igrafx.http.port}" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8" /> -->
<Connector port="${igrafx.http.port}" redirectPort="443" />
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLSv1" SSLCertificateFile="..\..\igrafxdata\MyCert.crt" SSLCertificateKeyFile="..\..\igrafxdata\MyCert.key" connectionTimeout="20000" URIEncoding="utf-8" />
web.xml (optional) — to make the server available over HTTPS only, add this before the closing </web-app>:
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<!-- auth-constraint goes here if you require authentication -->
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
Restart the iGrafx platform service for the changes to take effect.