我正在尝试通过HTTPS连接Java Web API; 但是,抛出异常:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
Run Code Online (Sandbox Code Playgroud)
我遵循了从在线keytool和SSL证书教程中学到的这些步骤:
我将HTTPS URL复制到浏览器中,使用Internet Explorer下载SSL证书并将其安装在浏览器中.
将证书导出到计算机上的路径,证书保存为 .cer
使用了keytool的导入选项.执行下面的命令没有任何错误.
keytool -import -alias downloadedCertAlias -keystore C:\path\to\my\keystore\cacerts.file -file C:\path\of\exportedCert.cer
Run Code Online (Sandbox Code Playgroud)我在命令提示符下提示输入密码,然后我输入了密码.
该cmd
窗口打印一些证书数据与签名,我是这样一个问题提示:
相信这个证书?
我回答是的.
显示cmd提示符
证书已添加到密钥库
但是在该消息之后,显示了另一个异常:
keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
Run Code Online (Sandbox Code Playgroud)最后,当我检查密钥库时,没有添加SSL证书,我的应用程序提供了我在尝试连接时得到的相同异常:
(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
Run Code Online (Sandbox Code Playgroud)