A certificate chain is an ordered path from an end-entity certificate, such as github.com, through intermediate certificates to a trusted root certificate. This path lets a verifier confirm the server’s identity and the authenticity of its public key. section 8.2.1 section 8.4
The chain commonly contains three certificate roles:
- End-entity certificate: identifies the server or other subject, such as github.com. section 8.3
- Intermediate certificate: is issued by a root or higher-level intermediate CA and signs end-entity certificates. section 8.2.1 section 8.3
- Root certificate: is self-signed and already trusted through an operating-system, browser, or runtime trust store. section 8.2.1 section 8.4
Diagnosing a missing issuer
Running `openssl verify github-cert.pem` can fail with `unable to get local issuer certificate`. Supplying the intermediate certificate allows OpenSSL to build the path: github.com at depth 0, DigiCert TLS Hybrid ECC SHA384 2020 CA1 at depth 1, and DigiCert Global Root CA at depth 2. Verification succeeds when that root is trusted.


