Skip to main content
Version: 3.3.1

TLS Certificates

ASI supports both CA-signed and self-signed TLS certificates.
A CA-signed certificate provides full browser trust and is recommended for production.
Self-signed certificates are easier to generate but will trigger browser warnings.

For an overview of the differences, see:
Self-Signed vs CA-Signed Certificates


CA-Signed Certificates​

Obtain certificates from your organisation’s certificate authority.
Ensure the certificate includes:

  • The correct Common Name (CN)
  • All required Subject Alternative Names (SANs) (load balancer + all ASI nodes)

Before installing the certificate, ensure the corresponding CA certificate is present in the Linux trust store.


Check If the CA Certificate Is in the Trust Store​

Replace CA_NAME with the Common Name of your CA:

grep -i "CA_NAME" /etc/pki/ca-trust/extracted/pem/*

Load the CA Certificate into the Trust Store​

If the CA certificate is missing:

  1. Copy the CA certificate into the trust store:
sudo cp /path/to/CA.crt /etc/pki/ca-trust/source/anchors/
  1. Update the trust store:
sudo update-ca-trust extract
  1. Confirm it has been loaded:
sudo update-ca-trust list

Self-Signed Certificates​

You may generate your own Certificate Authority (CA) and issue server certificates from it.
All ASI nodes must trust the same CA certificate (ca.crt) to avoid TLS errors.

Create a directory for your certs, for example:

mkdir -p /opt/ISS/config/security
cd /opt/ISS/config/security

Note: Some steps require root privileges.


Generate the Root Private Key (CA Key)​

openssl genpkey -algorithm RSA -out ca.key -aes256

Create the Root Certificate (CA Certificate)​

openssl req -key ca.key -new -x509 -out ca.crt -days 3650

Choose a meaningful Common Name (e.g., "ASI Internal CA").

Important: Use this same ca.crt for every ASI node.


Generate the Server Private Key​

openssl genpkey -algorithm RSA -out server.key -aes256

Generate the Server Certificate Signing Request (CSR)​

Create a SAN configuration file:

nano san.cnf

Example:

[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]
countryName = GB
stateOrProvinceName = Cheshire
localityName = Manchester
organizationName = MyCompany
commonName = your.server.com

[v3_req]
subjectAltName = @alt_names

[alt_names]
DNS.1 = your.server.com
DNS.2 = another.server.com
DNS.3 = 192.168.1.1

Generate the CSR:

openssl req -new -key server.key -out server.csr -config san.cnf

Sign the Server Certificate with Your CA​

openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
-out server.pem -days 3650 -extensions v3_req -extfile san.cnf

Verify the Server Certificate​

openssl x509 -in server.pem -text -noout

Check that:

  • SAN entries are present
  • Certificate dates and CN are correct

Distribute the CA Certificate​

Copy ca.crt to all ASI nodes and load it into the trust store:

sudo cp ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust extract

This ensures all nodes trust certificates issued by your custom CA.


For any updates or clarifications, please contact the support team.