Blog | G5 Cyber Security

Multiple Certificate Chains & Roots

TL;DR

Yes, a certificate can have multiple chains of trust and support multiple self-signed roots. This is often used for flexibility in environments with different root authorities or when transitioning between CAs.

Understanding Certificate Chains & Roots

Before we dive into the ‘how’, let’s quickly recap what these are:

Why Multiple Chains?

You might need multiple chains for these reasons:

Why Multiple Self-Signed Roots?

Multiple self-signed roots are less common but useful in specific scenarios:

How to Implement Multiple Chains & Roots

  1. Concatenate the Certificates: Combine your certificate with all intermediate certificates and root certificates into a single file (usually in PEM format). The order is crucial: Your certificate first, followed by intermediates, then roots.
  2. cat your_certificate.pem intermediate1.pem intermediate2.pem root1.pem root2.pem > combined_certificate.pem
  3. Configure Your Web Server/Application: Most web servers (Apache, Nginx) and applications allow you to specify the certificate file containing all chains.
    • Apache: In your virtual host configuration, use the SSLCertificateFile directive.
    SSLCertificateFile /path/to/combined_certificate.pem
  4. Nginx: In your server block configuration, use the ssl_certificate and ssl_certificate_key directives.
    ssl_certificate /path/to/combined_certificate.pem;
  5. Verify the Configuration: Use an online SSL checker tool (like SSL Labs’ SSL Server Test) to confirm that all chains are being presented correctly.
  6. Client Trust Stores: Ensure clients have the necessary root certificates installed in their trust stores. For self-signed roots, this usually involves manually adding them to the client’s trusted certificate list.

Important Considerations

Exit mobile version