- Created by Karolin Hemmingsson, last modified by Josefin Klang on Mar 20, 2023
This article describes how to install the Protocol Gateway component in Smart ID Certificate Manager.
Prerequisites
The following prerequisites apply:
- Apache Tomcat 9 as servlet container must be installed on the Protocol Gateway host. Download Apache Tomcat from http://tomcat.apache.org
- A 64-bit version of Java 11 must be installed on the Protocol Gateway host. Download Java from openjdk.java.net or oracle.com.
- The CM server must be available to issue certificates. See
Step-by-step instruction
If the Protocol Gateway client is not already installed:
- Follow the steps in either of these instructions and make sure to check Protocol Gateway in the list of clients, as well as Administrator's workbench (AWB) and Registration Authority (RA) that are needed to set up CA and policy objects:
To copy the Protocol Gateway .war file:
Go to the CM installation folder, for example \CM\clients\web\pgwy\.
- Copy the file pgwy.war file to the Tomcat webapps folder, for example \Tomcat\webapps.
- Start Tomcat. After the startup is complete, just stop it again.
When Protocol Gateway is started the first time, the \conf folder and initial configuration files will be created, for example C:\ProgramData\Nexus\cm-gateway\conf\. Error messages can be ignored at this point.
To configure Tomcat:
- On Windows
- Run the Tomcat9w.exe application.
Tomcat9w is a GUI application for monitoring and configuring Apache Tomcat services. For more information, see http://tomcat.apache.org/tomcat-9.0-doc/windows-service-howto.html. Go to the Logging tab, and set Log path to C:\ProgramData\Nexus\cmgateway\logs..
Go to the Java tab, and set the following properties:
Example: Java options-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=C:\ProgramData\Nexus\cm-gateway\conf\logging.properties -Dnexus.var=C:\ProgramData\Nexus\cm-gateway
- Run the Tomcat9w.exe application.
On Linux
Open the script file setenv.sh in the Apache Tomcat bin folder for editing.
Set the following options in
CATALINA_OPTS
as a string separated by spaces.Example: Set options in setenv.shCATALINA_OPTS="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ -Djava.util.logging.config.file=/var/cm-gateway/conf/logging.properties \ -Dnexus.var=/var/cm-gateway"
Configuring Protocol Gateway as a service on Linux depends on the distribution used and is not covered here.
Do not restart Tomcat yet.
Restarting Tomcat would lead to an error message, since Protocol Gateway is not yet configured.
Securing the Apache Tomcat Service is outside the scope of the Protocol Gateway application.
However, here are some recommended steps to secure the Tomcat service:
Open the file <CATALINA_BASE>\conf\server.xml for editing, where <CATALINA_BASE> is the Tomcat installation path.
In the
Connector
section, do the following updates:Set protocols to include only TLSv1.3 and TLSv1.2 (and thereby disable TLSv1.1 and TLSv1.0).
- Force the clients to respect the server's cipher order, by setting
honorCipherOrder
totrue
. - Only enable strong ciphers, by setting the
ciphers
variable.
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig honorCipherOrder="true" ciphers="HIGH:!3DES:!DES:!SHA1:!SHA256:!SHA384:!SEED" protocols="TLSv1.3,TLSv1.2"> <Certificate certificateKeystoreFile="conf/localhost-rsa.p12" certificateKeystorePassword="1234" certificateKeystoreType="PKCS12" type="RSA" /> </SSLHostConfig> </Connector>
Initial configuration
To do initial configuration of Protocol Gateway, see Initial configuration of Protocol Gateway.
Configuration examples
For configuration examples in Protocol Gateway, see Configuration examples in Protocol Gateway.
Upgrade Protocol Gateway
To upgrade to a newer version of Protocol Gateway, see Upgrade Protocol Gateway.