Search code examples
apachesslhttps

SSL certificate not trusted in all web browsers. Intermediate not working?


My site https://uberdice.com works fine for me with no SSL related errors or warnings.

However a few of my users have informed me they are getting SSL related warnings. I believe I have installed everything correctly. Below you can see the apache2.conf file:

<VirtualHost *:443>
DocumentRoot /var/www/
ServerName uberdice.com
SSLEngine on
SSLCertificateFile /path/uberdice.com.crt 
SSLCertificateKeyFile /path/uberdice.com.key 
SSLCertificateChainFile /path/intermediate.crt 
</VirtualHost>

All files are in the same directory. I have also tried using the SSLCACertificateFile directive.

Yet when I run a check on: https://www.sslshopper.com/ssl-checker.html#hostname=https://uberdice.com it would appear to fail to connect to a root certificate. Presumably from a faulty intermediate certificate.

I am using RapidSSL and this bundle code for the intermediate certificate https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&actp=CROSSLINK&id=SO26464.

Does anyone have any ideas what is going wrong?

Thanks.


Solution

  • Your are sending the wrong intermediate certificates and it only works in your browser because you either have cached the right certificates from visits to other sites using the same chain or because the browser is actively downloading the missing certificates (Chrome on desktop might do, Firefox not).

    Have a look at the trust path information in the analysis from SSLLabs and you will see:

     Chain issues   Incomplete, Extra certs
    

    That's the problem you need to resolve, i.e. remove the wrong chain certificate and add the right one. For more information look at the "Certification Path" information in the analysis. In short: instead of "RapidSSL CA" you need "RapidSSL SHA256 CA - G3".