How to add Certificate Chain to Symantec Endpoint Protection Manager (SEPM).
SEP
This document describes the process of manually importing the certificates necessary for a Symantec Endpoint Protection Manager (SEPM) to present the entire chain of trust for its TLS certificate to both Symantec Endpoint Protection (SEP) clients, the local and remote Java consoles, and Web console.
If your SEPM certificate has signature/issuer path of one or more intermediate CAs (Certificate Authorities), like:
RootCA> IntermediateCA1> IntermediateCA2> etc> myserver.example.net
then you may optionally install that chain of CA certificates following instructions here. This enables verification of the SEPM certificate by remote clients that may only have the RootCA certificate in their store. The certificate chain is simply a plaintext file of all the CA public certs concatenated together:
-----BEGIN CERTIFICATE-----
[Base64-encoded-cert]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[Base64-encoded-cert]
-----END CERTIFICATE-----
etc
NOTE: This process is not supported, and customers should follow it at their own risk. The steps are written assuming that the reader understands how PKI works, and is familiar with the kinds of files and formats certificates and keys are normally found in. Before following this procedure, ensure you understand the concept of a Public Key infrastructure, and have already obtained a valid certificate from a Certificate Authority (CA) whose root certificate is included in the Windows Trusted Root Certification Authorities.
Import the certificate provided by your CA: Update the server certificate on the SEPM without breaking communications with the client.
Your CA should provide you with a chain certificate in Privacy Enhanced Mail (PEM) format. This file will contain 1 or more Base64 encoded certificates one for each link in the chain of trust between your SEPM certificate, and the Root CA. If you did not obtain a copy of your CAs chain certificate, contact your CA for assistance in generating this file.
Rename your CA certificate chain file to server-ca.crt and copy it to C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\apache\conf\ssl.
#SSLCertificateChainFile "conf/ssl/server-ca.crt"
SSLCertificateFile "conf/ssl/server.crt"
SSLCertificateChainFile "conf/ssl/server-ca.crt"
Add an SSLCertificateChainFile reference to the chain certificate on the Server <Connector> tag.
For example:<!-- Server -->
SSLCertificateFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\..\apache\conf\ssl\server.crt" SSLCertificateKeyFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\..\apache\conf\ssl\server.key" SSLCipherSuite="HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!3DES:!RC4" SSLEnabled="true" SSLHonorCipherOrder="true" SSLProtocol="TLSv1.2" Server="SEPM" acceptCount="100" allowTrace="false" allowUnsafeLegacyRenegotiation="false" disableUploadTimeout="true" enableLookups="false" keystoreFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\etc\keystore.jks" keystorePass="<HashedKeystorePass>" maxHeaderCount="100" maxParameterCount="1000" maxPostSize="2097152" maxSavePostSize="4096" port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol" scheme="https" secure="true" useBodyEncodingForURI="true" xpoweredBy="false"/>
To:
<!-- Server -->
<Connector SSLCertificateChainFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\..\apache\conf\ssl\server-ca.crt" SSLCertificateFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\..\apache\conf\ssl\server.crt" SSLCertificateKeyFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\..\apache\conf\ssl\server.key" SSLCipherSuite="HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!3DES:!RC4" SSLEnabled="true" SSLHonorCipherOrder="true" SSLProtocol="TLSv1.2" Server="SEPM" acceptCount="100" allowTrace="false" allowUnsafeLegacyRenegotiation="false" disableUploadTimeout="true" enableLookups="false" keystoreFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\etc\keystore.jks" keystorePass="<HashedKeystorePassword>" maxHeaderCount="100" maxParameterCount="1000" maxPostSize="2097152" maxSavePostSize="4096" port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol" scheme="https" secure="true" useBodyEncodingForURI="true" xpoweredBy="false"/>
Create a copy of C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\instances\sepm-api\conf\server.xml and open the original in a text editor.
Add an SSLCertificateChainFile reference to the chain certificate on the WebService <Connector> tag.
For example:<Service name="WebService">
<Connector SSLCertificateFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\..\apache\conf\ssl\server.crt" SSLCertificateKeyFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\..\apache\conf\ssl\server.key" SSLCipherSuite="HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!3DES:!RC4" SSLEnabled="true" SSLHonorCipherOrder="true" SSLProtocol="TLSv1.2" Server="SEPM" acceptCount="100" allowTrace="false" allowUnsafeLegacyRenegotiation="false" clientAuth="want" disableUploadTimeout="true" enableLookups="false" keystoreFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\etc\keystore.jks" keystorePass="<HashedKeystorePass>" maxHeaderCount="100" maxParameterCount="1000" maxPostSize="2097152" maxSavePostSize="4096" port="8446" protocol="org.apache.coyote.http11.Http11AprProtocol" scheme="https" secure="true" useBodyEncodingForURI="true" xpoweredBy="false"/>
To:
<Service name="WebService">
<Connector SSLCertificateChainFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\..\apache\conf\ssl\server-ca.crt" SSLCertificateFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\..\apache\conf\ssl\server.crt" SSLCertificateKeyFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\..\apache\conf\ssl\server.key" SSLCipherSuite="HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!3DES:!RC4" SSLEnabled="true" SSLHonorCipherOrder="true" SSLProtocol="TLSv1.2" Server="SEPM" acceptCount="100" allowTrace="false" allowUnsafeLegacyRenegotiation="false" clientAuth="want" disableUploadTimeout="true" enableLookups="false" keystoreFile="C:\Program Files (x86)\Symantec\Symantec Endpoint Protection Manager\tomcat\etc\keystore.jks" keystorePass="<HashedKeystorePassword>" maxHeaderCount="100" maxParameterCount="1000" maxPostSize="2097152" maxSavePostSize="4096" port="8446" protocol="org.apache.coyote.http11.Http11AprProtocol" scheme="https" secure="true" useBodyEncodingForURI="true" xpoweredBy="false"/>
Note: In 12.1 there is only one instance of Tomcat so these connectors are combined into a single server.xml located in tomcat/conf.