I'm trying to connect a Java Web API via HTTPS; however, an exception is thrown:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
I followed these steps which I learned from online keytool & SSL cert tutorials:
I copied the HTTPS URL into the browser, downloaded the SSL certificates & Installed them in the browser using Internet Explorer.
Exported the certificates to a path on my computer, the certificates were saved as
.cer
Used the keytool's import option. The command below executed without any errors.
keytool -import -alias downloadedCertAlias -keystore C:\path\to\my\keystore\cacerts.file -file C:\path\of\exportedCert.cer
I was prompted for a password at the command prompt, which I entered then I was authenticated.
The
cmd
window printed some certificate data & signatures and I was prompted with the question:Trust this certificate?
I answered yes.
The cmd prompt displayed
Certificate was added to keystore
However after that message, another exception was displayed:
keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
Finally when I checked the keystore , the SSL certificate was not added and my application gives the same exception I was getting earlier when trying to connect:
(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
keytool
command that you've executed, and it's output? some of the obvious issues here are the typo of-keystore
argument, and the fact that keytool was unable to find the keystore to import the key into – Equipotential