Validate SSL certificate chains
A certificate chain is the ordered list of certificates from the leaf (server) certificate up to a trusted root CA. An SSL certificate chain checker fetches the chain a server actually presents. Our Certificate Chain Validator fetches the chain presented by a server, checks its completeness, verifies expiry dates, identifies missing intermediate certificates, and confirms whether the chain builds correctly to a trusted root. Proper chain validation is essential for browser trust and preventing certificate errors.
cat server.crt intermediate1.crt intermediate2.crt > fullchain.pem — and point the server at that file. Nginx takes it in ssl_certificate; on Apache 2.4.8 and later put the chain in SSLCertificateFile. Then confirm with openssl s_client -showcerts and count the certificates.An incomplete chain shows up as unable to get local issuer certificate in OpenSSL, or a warning icon in the browser address bar. The server is sending the leaf certificate but not the intermediates that link it to a trusted root.
1. Build the chain in the right order
Concatenate the leaf first, then each intermediate, one after another. Never include the root — clients already have it.
cat server.crt intermediate1.crt intermediate2.crt > fullchain.pem
2. Point the server at the full chain
Nginx: ssl_certificate /etc/nginx/ssl/fullchain.pem; — the file must be the full chain, not just the leaf.
Apache 2.4.8+: put the chain in SSLCertificateFile. SSLCertificateChainFile is deprecated.
IIS: import the intermediates into the server certificate store; IIS serves whatever is in the store.
3. Confirm what is actually being sent
openssl s_client -connect example.com:443 -servername example.com -showcerts
Count the certificates in the chain and compare their subjects with the issuers listed in each one. A missing link shows up as a subject that does not match the next issuer.
Still short? The chain is usually truncated at the TLS handshake if the server has more intermediates than it can send in one message — a missing file on disk is the more common cause. Check the file the server is actually configured to load before reloading.
Validation: Complete certificate chain trust validation
Trust Stores: Mozilla, Apple, Microsoft, and Google trust stores
Checks: Chain completeness, expiry, revocation, and signature verification
Output: Validation report with trust status and issues