So the time has come to move your new E-Commerce store out of the sand box and into the real world. In order to do this you need to buy an SSL certificate and install it on your server to get everything working.
So you bought your nice new SSL certificate and installed it on your server and you can view your chosen secure url in your browser using the normal https prefix. So everything is working.
Yet when you look in the integration console in Google Checkout you see the following error
We encountered an error trying to access your server at https://yourdomain.cm -- the error we got is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
So why is it not working in Google Checkout but works in my browser? and Why cant it find my SSL certificate?
The reason why Google Checkout is failing is simple. When you use your browser to point at a secure url with the normal https prefix the browser is clever enough to do a bit of detective work to find the location of your actual SSL certificate and the issuing authority. However a direct connection, in this case the Google Checkout API, is not.
Put simply if you are experiencing the above problem, it means that you need an extra step in place to install a certificate between your browser request and your actual SSL certificate. This is known as an intermediate certificate, and this joins the dots between your actual server SSL certificate and the issuing authority.
Why Does This Happen? And How Can I Fix It?
The main reason for this error is that your have purchased your SSL certificate from a third party, that is not directly from an issuing authority such as Verisign. This means that in order to correctly identify your certificate your need to install the intermediate certificate.
You should receive both your main SSL certificate (the one you need to install in your web server) and your intermediate certificate (the one you need to install on your server which is running your web server) from your third paty supplier, if you did not get back on to them to get them reissued. Then once you have both simply install your main SSL certificate on the domain you wish to secure and install the intermediate on your server.
Thats it problem solved
NOTE - If you bought your SSL certificate directly from an issuing authority you should not have the above problem, as your server should already be aware of their existence.
Thanks
Sean J Connolly
Visit AJAX Web Development Store
BuzzProperties.co.uk - Online Property Sales and Letting
