Secure website certificate

Transport Layer Security (TLS) certificates verify the integrity of both the ownership and information of websites you visit. This article explains how it works.

What websites use certificates?

Websites whose addresses start with https use TLS Certificates. Websites using TLS certificates are secure only insofar as they verify two things:

  • The website administrator owns the website name or knows who does.
  • The website is encrypting the connection between your browser and itself to prevent eavesdropping.

Chain of trust

Browsers, such as Firefox, verify certificates through a hierarchy called a chain of trust. It defines a structure for browsers and other programs to verify certificate integrity. This diagram illustrates the chain of trust:

chain-of-trust

It's a list of three certificates:

  • The root (trust anchor) certificate
  • The intermediate certificate
  • The server (end entity) certificate

Let's define them: the root certificate belongs to the Certificate Authority (CA), which issues TLS certificates and the browser inherently trusts; the intermediate certificate acts as an intermediary between the root CA and the website; the server certificate belongs to the website administrator.

These certificates contain the following information:

  • Details about the Certificate Authority (CA)
  • An asymmetric key pair:
    • A private key that cryptographically signs the next certificate in the chain; the server certificate has one for other tasks.
    • A public key for decrypting the signature of the next certificate in the chain for identity verification; the server certificate uses it for other tasks.

Now, we can describe how Firefox determines whether a website is secure.

How does Firefox verify certificate integrity?

Here is how Firefox uses the chain of trust to verify TLS certificates:

  1. Firefox downloads the certificate of the website you visited.
  2. Firefox checks the certificate against its internal database of Certificate Authorities (CAs).
    • It uses the public key of the root CA certificate to ensure that the root certificate and intermediate certificate properly signed down the chain.
  3. Firefox checks with the CA to ensure that the website you're connected to match the website on the server certificate.
  4. Firefox generates a symmetric (single) key for encrypting HTTP traffic for the connection.
  5. Firefox encrypts the symmetric key with the public key of the server certificate.
  6. The private key, which is on the web server, decrypts the connection data.

Viewing a certificate

To view a certificate, follow these steps:

  1. Click on the pad lock icon.
    padlock-icon
  2. Click on Connection secure.
    connection-secure
  3. Click on More Information.
    more-information
  4. In the pop-up window, click View Certificate.
    view-certificate

Firefox will now open the about:certificate page with the certificate for the website you're on:

about-certificate-page

The three tabs show, from left to right, the server certificate, the intermediate certificate and the root certificate.

Certificate content

TLS certificates contain the following information:

  • Subject: Contains the website name and optional attributes, such as information about the organization owning the certificate.
  • Issuer: Identifies the entity that issued the certificate.
  • Validity: Shows how long the certificate is valid for.
  • Subject Alt Name Extension: Lists the website addresses that the certificate is valid for.
  • Public Key Info: Lists attributes of the public key of the certificate.
  • Serial Number: Uniquely identifies the certificate.
  • Signature Algorithm: Algorithm used to create the Signature.
  • Fingerprints: Hash of the certificate file in DER binary format.
  • Key-Usage and Extended Key Usage: Specify how people can use the certificate, such as for confirming ownership of a website (Web Server Authentication).
  • Subject Key ID: An identifier generated from the TLS certificate's public key as a way to identify the certificate.
  • Authority Key ID: An identifier generated from the TLS certificate's public key as a way to identify the public key corresponding to the private key used to sign the certificate.
  • CRL Endpoints: The locations of the Certificate Revocation List (CRL) of the issuing CA.
  • Authority Info: Contains the validation method for the certificate authority and the intermediate certificate file.
  • Certificate Validation: Contains the certificate validation type and a link to the CA's Certification Practice Statement (CPS).
  • Embedded SCTs: Lists the Signed Certificate Timestamps (SCTs).

Problematic certificates

When you visit a website whose address starts with https and there is a problem with the TLS certificate, an error page will display. The What do the security warning codes mean? article describes common certificate errors.

To view the problematic certificate, follow these steps:

  1. On the Your connection is not secure warning page, click Advanced…
    bad-cert-advanced
  2. Click on View Certificate.
    view-bad-certificate

The bad certificate will now display.

Was this article helpful?

Please wait...

These fine people helped write this article:

Illustration of hands

Volunteer

Grow and share your expertise with others. Answer questions and improve our knowledge base.

Learn More