Configuring TLS 1.3 for QMF Standalone Server
You can configure the TLS 1.3 protocol on the QMF Server to use it as a standalone server.
About this task
To configure TLS on QMF Server as a standalone server, perform the following steps:
Procedure
-
Create a Jetty Server instance.
To create a Jetty Server instance:
- Set up the standalone Jetty Server using the QMFServerSetup.jar file and validate that the application data and the server files are created.
-
Configure the Jetty server to run on TLS1.3.
To configure the Jetty server to run on TLS 1.3:
- Open {AppData}\IBM\QMF Server\jettyXMLConf\jetty.xml file.
-
Remove the comments added to all the lines inside the tag
<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
-
Add the following lines inside the tag
<New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
:<Set name="KeyStorePath">{KeyStorePath}\keystore.jks</Set> <Set name="KeyStorePassword">{KeystorePassword}</Set> <Set name="KeyManagerPassword">{KeystorePassword}</Set> <Set name="TrustStorePath">{TrustStorePath}\truststore.jks</Set> <Set name="TrustStorePassword">{TrustStorePassword}</Set> <Set name="IncludeProtocols"> <Array type="java.lang.String"> <Item>TLSv1.3</Item> </Array> </Set>
-
Under the section
<!—HTTP Connector [START] -->
, inside the tag<Array type="org.eclipse.jetty.server.Connector">
, comment the all the lines in the<Item>
tag . Commenting out this section will disable the HTTP connector settings. -
Under the section
<!—SSL/HTTPS Connector [START] -->
, inside the tag<Array type="org.eclipse.jetty.server.Connector">
, remove the comment added for all the line in the<Item>
tag . Removing the comment enables the SSL Connector settings. - Save the file.
-
Configure the
startServer
command.-
Open the
startServer.cmd
file with Notepad++ or any other editor. -
Replace
java --add-opens=java.base/java.io=ALL-UNNAMED -jar QMFServer.jar
above thepopd
command with the following line:java -Dfile.encoding=UTF-8 –Dqmf.activemq.protocol=ssl –Dqmf.activemq.protocol=ssl -Djavax.net.ssl.trustStore={KeyStorePath}\keystore.jks -Djavax.net.ssl.trustStorePassword=changeit --add-opens=java.base/java.io=ALL-UNNAMED -jar QMFServer.jar
This enables the server to recognize the TLS connection established with the QMF Server Registry.Note: Adding the definition-Dqmf.activemq.protocol=ssl
in the file will configure the ActiveMQ communication in SSL mode.
-
Open the
- Start the server by running the cmd file.