Incomplete certificate chain on Windows servers

Users with Windows servers may sometimes receive an "untrusted connection" error, when connecting to their websites, despite the fact that a PKCS#7 certificate with the full chain was imported on the server. The issue is more frequent on mobile devices, rather than on desktop machines, and occurs most commonly with Sectigo certificates.

When checking the certificate installation in an online checker, you will see that the certificate is returned with one intermediate.

To understand what causes the issue and how to overcome it, we will provide a better understanding on how Windows servers work with SSL certificates. First, remember that Windows servers do not return root certificates during SSL handshake and they build up certificate chains using the shortest way they can find.

Let us investigate this issue using the example of a Sectigo PositiveSSL certificate. PositiveSSL (and other Sectigo certificates) has two variants of CA chain. One ends up with SHA-1 root certificate and the other is completed by a newer SHA-2 root, which is not included in trusted stores of most mobile devices and might be missing in old versions of desktop browsers.

After certificate installation in Windows, your server may contain self-signed Sectigo Public Server Authentication Root R46 root certificate. Some older devices may not trust this self-signed certificate, and the workaround to this issue is to install cross-signed Sectigo Public Server Authentication Root R36 certificate and trusted USERTrust RSA Certification Authority root. This should complete the certificate chain properly on both new and old devices. However, Windows servers prefer using shorter certificate chains, making cross-signed certificate unusable. In order to mitigate this, the self-signed root Sectigo Public Server Authentication Root R46 certificate has to be disabled.

In order to overcome the issue, you’ll need to disable the usage of the root certificate that prevents building a proper certificate chain. Follow the steps below:

  1. Press Win+R, type in mmc and click OK to open Microsoft Management Console. Make sure that you are logged in as administrator.

    winchain2

  2. Click on File and choose Add/Remove Snap-in option.

    winchain3

  3. Select Certificates and click Add.

    winchain4

  4. Choose Computer account, and then Next.

    winchain5

  5. Select Local Computer radio button and click Finish.

    winchain6

  6. Click OK to apply the changes.

    winchain7


    This will open a certificate manager, where you will be able to see the certificates added to the trusted stores (root and intermediate certificates that are integrated to a Windows server).

  7. Expand the Trusted Root Certification Authorities store and click on the Certificates folder. You will see all root certificates imported to your server here. The certificate we are interested in will be also here.

    winchain8

  8. Right-click on the required certificate and click on Properties.
  9. Put the radio-button on Disable all purposes for this certificate, then click on Apply and OK. The changes should be implemented instantly.

    winchain9


Note: Alternatively, you can delete the certificate from the store, however, there is a chance it will appear again after the Windows server restart.

This should resolve the issue with the certificate chain returned by the Windows server and remove all the warnings in browser.

Updated
Viewed
37278 times

Need help? We're always here for you.

notmyip