FAQ for Certificate Changes

The Google Public Key Infrastructure ("Google PKI") includes intermediate certificate authorities (CA) and root CAs. For more information about the Google PKI, see the related blog posting.

What are the recommended minimum requirements for a Transport Layer Security (TLS) client to communicate with Google?

  • Support for TLS 1.2.
  • A Server Name Indication (SNI) extension that contains the domain to which the client is connecting.
  • Support for the cipher suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 using the NIST P-256 curve (a.k.a. "secp256r1") and uncompressed points.
  • At a minimum, trusting of the certificates listed at https://pki.goog/roots.pem.
  • Support for DNS Subject Alternative Names (SANs) by the certificate verifier, where SANs may include a single wildcard as the left-most label in the domain name.

Why has the intermediate CA certificate been changing? Can we hardcode it in our software?

Depending on business needs and technology changes, we may regularly change our intermediate certificate authority used for signing SSL server certificates. A current intermediate certificate authority or root certificate authority should never be considered static.

Hardcoding an intermediate certificate authority or root certificate authority is the wrong approach. Certificates can change on a moment's notice, and software that uses them must be set up accordingly. Although root certificates have not changed in the past, they may in the future. CAs are now under attack and the compromise of a CA's root certificate would require revocation. Also, compromised CAs have had all of their roots revoked. Therefore, software that uses certificates must take into account that certificates may change at any time.

Is our stack valid? Are the other parts of our setup valid?

Unfortunately, we don't know and you will need to perform the necessary testing. Typically, the stack is not broken. Rather, the issue is that the root certificates are hard-coded and cannot be updated. That said, if you are using an older stack, there may be issues with SANs or with SNI.

What desktop operating systems could have problems?

Windows Vista, Windows 7, and Windows 8 will phone home to get updated roots if the chain goes back to a root they do not recognize. The Mac OS X and Unix platforms tend to all have current root stores.

What devices could have certificate problems?

Devices that do not properly validate certificates, or that have hard-coded a certificate, can have certificate issues, especially if there is no update mechanism. Such issues can occur with phones, printers, set-top boxes, cameras, and other devices. Additionally, issues can occur with apps that do certificate validation separately from the operating system.

What phones may have certificate problems?

Android and Apple® iOS® devices update their root stores as part of operating system updates. However, this does not necessarily mean that phones with these operating systems are immune to problems. For example, the Qualcomm modem firmware in a recent model Android phone had a hard-coded root certificate that was expected when fetching Assisted GPS (AGPS) data. A problem didn't occur in the Android OS but the Qualcomm firmware did not use the OS certificate store for validation. Instead, the expected root certificate was hard-coded in the modem firmware, and when the root changed, the AGPS functionality stopped working.

What set-top boxes may have certificate problems?

Most recent set-top boxes can connect to the Internet and show movies from various services. If set-top boxes properly validate the certificate chain, and can update the roots they trust, the set-top boxes should continue to work, despite changes in certificates. If a set-top box does not properly validate the certificate chain, the set-top box must be fixed. Fortunately, most set-top boxes update their firmware properly. The principal concern is the lead time needed for updates to set-top boxes.

What gaming consoles may have certificate problems?

Recent gaming consoles can show movies. The answer here is similar to the answer for set-top boxes.

What printers may have certificate problems?

Printers usually lack an off-the-shelf operating system that can update its root certificate. Therefore, printers often have a hard-coded root certificate in the firmware. Unfortunately, a firmware update is required if the root certificate changes. Printers need a mechanism that provides for periodic certificate updates. Printers also may lack the capability to handle SSL features such as SANs and SNI.

What cameras may have certificate problems?

Cameras that connect to the Internet (e.g., to upload pictures) can have certificate issues. Cameras often lack the ability to update the root certificates that they trust. Additionally, cameras often cannot handle newer SSL features like SANs and SNI. Unfortunately, low-end cameras often lack a way to update their firmware, so certificate changes can cause cameras to fail when they attempt a secure connection. Higher-end cameras may have methods to update their firmware, but these methods are usually manual and/or offline. Until the user updates the firmware, these cameras can experience HTTPS connection problems.

What roots should we trust for connecting to Google?

Google provides a sample PEM file. The file includes the Google Trust Services owned and operated roots, as well as other roots that may be necessary now, or in the future, to communicate with and use Google products and services.

How can I test SNI?

The following URL should only validate if you are using SNI: https://googlemail.com

Is there a document that I can give partners that describes the requirements for using SSL to connect to our services?

Is there a location where we can test TLS clients to see if they work correctly?