Domain certificate update - server.pem

Overview

This article describes how to replace the server.pem certificate used by the HAProxy service in the Veridium platform.

During the VeridiumID Server installation, a self-signed certificate is automatically generated for HAProxy. In production environments, this certificate should be replaced with a trusted certificate issued by a certificate authority (CA).

When the certificate expires or needs to be replaced, administrators can update it through the Veridium Admin Manager interface.

Depending on the deployment architecture, one of the following configurations applies:

  • Single certificate setup (same certificate used for all traffic)

  • Dual certificate setup (separate certificates for internal and external traffic)


1. Using a Single Certificate for Veridium

This configuration applies when:

  • The same FQDN is used for both internal and external services, OR

  • Different FQDNs are used but SSL termination occurs at another infrastructure layer

If Veridium is not the first SSL termination layer, the default self-signed server.pem certificate must be replaced with a trusted certificate.


Upload the Trusted Certificate

  1. In Veridium Manager, navigate to:

Tools → Haproxy configuration
  1. Open the Certificates tab.

  2. Choose the certificate upload method:

Option A — PKCS12 (Recommended)

Upload a PKCS#12 file (.p12 / .pfx) containing:

  • certificate

  • full chain

  • private key

Enter the password for the certificate.

Option B — Certificate + Private Key

Upload the certificate chain and private key as separate files.

(Image – certificate upload interface)

After uploading, the interface will display:

  • the certificate chain

  • detected certificates

  • private key type


Save the Configuration

  1. Click Save.

During this step:

  • the certificate chain is stored

  • it is also added to the Veridium server Truststore


image-20250704-114829.png

Apply the Certificate on the Nodes

  1. Navigate to:

Settings → Nodes
  1. Expand the Haproxy section.

  2. Click the command:

change server.pem
  1. In the popup window:

  • select all webapp nodes

  • click Run

After uploading the certificate chain, the certificates part of the chain and the private key type are displayed below the upload boxes.

D84156A7-D763-4F3A-ADCA-BB8AFF1AC701-20250703-152509.png


image-20250704-135438.png

 

Verify the Execution

  1. The execution status appears in the Nodes section.

Possible results:

Status

Meaning

Green

Command executed successfully

Red

Command failed

If a node fails:

  • click View actions

  • open the execution logs for troubleshooting


image-20250704-130408.png

2. Using Two Certificates (Internal + External)

This configuration applies when:

  • Veridium performs the first SSL termination

  • Internal and external services use different FQDNs

Two certificates are required:

  • serverExt.pem – external traffic

  • serverInt.pem – internal traffic

Supported formats:

  • PKCS12

  • P7B

  • PEM

Before uploading certificates, the HAProxy configuration template must be updated.


Updating the HAProxy Configuration

  1. Navigate to:

Tools → Tenant configuration
  1. Open the Templates tab.

  2. Select haproxy.

  3. Click View for haproxy.cfg.

  4. Search for:

server.pem

For every occurrence:

  • comment the line containing server.pem

  • uncomment the line referencing serverExt.pem or serverInt.pem

Example:

# ssl crt /etc/veridiumid/haproxy/server.pem
ssl crt /etc/veridiumid/haproxy/serverExt.pem
ssl crt /etc/veridiumid/haproxy/serverInt.pem

This modification typically occurs 10 times in the configuration.

image-20250704-134410.png
  1. Save the configuration.


Apply the Template

  1. Navigate to:

Tools → Nodes
  1. Expand Haproxy.

  2. Run the command:

change Haproxy.cfg
image-20250704-135244.png
  1. Select the webapp nodes.

image-20250704-135413.png
  1. Click Run.


Changing serverExt.pem

  1. Navigate to:

Tools → Haproxy configuration
  1. Open the Certificates tab.

  2. Upload the external certificate using:

  • PKCS12 (recommended), or

  • Certificate + private key

image-20260310-154822.png
  1. Click Save.

The certificate chain will be automatically added to the server Truststore.


Apply serverExt.pem on Nodes

  1. Go to:

Settings → Nodes
  1. Expand Haproxy.

  2. Run:

change serverExt.pem
image-20260310-154903.png
  1. Select all webapp nodes.

image-20260310-154918.png
  1. Click Run.

Execution results appear in the Nodes section.

image-20260310-154935.png

Generating and Applying serverInt.pem

To configure the internal certificate, a certificate must first be issued by the internal certificate authority (CA).


Generate the CSR

  1. Navigate to:

Tools → Haproxy configuration → CSR
  1. Open:

HAPROXY_CNF_BASE64
  1. Fill in the required CSR details.

image-20260310-154348.png


  1. Click Save.


Generate Private Key and CSR

  1. Click Generate private key

(skip if a private key already exists)

  1. Click Generate CSR and download the file.

Issue the Certificate from the CA

Example below uses Microsoft Active Directory Certificate Services.

image-20260310-154411.png
  1. Select Get a certificate.

image-20260310-154438.png
  1. Select Advanced certificate request.

image-20260310-154449.png
  1. Paste the CSR and select:

Certificate Template = Web Server
image-20260310-154501.png
  1. Submit the request.

  2. Download the certificate Base64 encoded certificate chain.


Upload the Internal Certificate

  1. Download the private key from:

Tools → Haproxy configuration
→ Config details
→ HAPROXY_PUBLIC_CERT_KEY_PEM_BASE64
  1. Navigate to:

Tools → Haproxy configuration → Certificates
  1. Select Type = CERTIFICATE

image-20250704-114829.png
  1. Upload:

  • certificate chain

  • private key

  1. Click Save.


Apply serverInt.pem

  1. Navigate to:

Tools → Nodes
  1. Expand Haproxy.

  2. Run:

change serverInt.pem
  1. Select the webapp nodes and click Run.

Execution status will appear for each node.


(Optional) - Removing the the previous domain certificate from Truststores

This step is applicable when changing from self-signed certificate with another having a different chain.

  1. Navigate to VeridiumID Admin Console → Settings → Certificates → Truststores.

  2. Remove the entry for the self-signed certificate from the interface.


Last updated: