我正在尝试通过HTTPS连接Java Web API;但是,抛出了一个异常:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
我遵循了从在线keytool和SSL证书教程中学到的以下步骤:
我将HTTPS URL复制到浏览器中,下载SSL证书并使用Internet Explorer.
.cer
在命令提示符下,C:\path\of\exportedCert.cer
cmd
窗口打印了一些证书数据和签名,系统提示我以下问题:信任此证书我回答说是。
证书已添加到密钥库
然而,在这条消息之后,显示了另一个异常:
keytool错误: java.io.FileNotFoundException: C:\Program files...\cacerts
最后,当我检查密钥库时,SSL证书没有被添加,并且我的应用程序给出了我之前尝试连接时得到的相同异常:
(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
发布于 2012-07-06 01:58:36
如果未在管理员模式下运行命令提示符,则可能会发生这种情况。如果你使用的是windows7,你可以进入运行模式,输入cmd并点击Ctrl+Shift+enter。这将在管理员模式下打开命令提示符。如果没有,你也可以去开始->所有程序->附件->右键单击命令提示符,然后单击‘以管理员身份运行’。
发布于 2017-12-06 16:07:34
在本地密钥库中导入证书时,我也遇到了同样的问题。每当我发出keytool命令时,我都会得到以下错误。
证书已添加到密钥库密钥工具错误: java.io.FileNotFoundException: C:\Program Files\Java\jdk1.8.0_151\jre\lib\security (访问被拒绝)
以下是我的解决方案。
1)确保您以管理员身份在Rus模式下运行命令提示符
2)将当前目录更改为%JAVA_HOME%\jre\lib\security
3)然后发出以下命令
keytool -import -alias "mycertificatedemo“-file "C:\Users\name\Downloads\abc.crt”-keystore cacerts
3)提供密码changeit
4)输入y
5)成功时,您将看到以下消息“证书已添加到密钥库”
确保您只在-keystore参数值中给出了"cacerts“,因为我给出了完整的路径,如"C**:\Program Files\Java\jdk1.8.0_151\jre\lib\security**”。
希望这能行得通
发布于 2012-05-03 17:07:06
我在Windows下也遇到了同样的问题,可以通过以管理员身份运行cmd.exe来解决这个问题(右键单击开始菜单,然后单击“以管理员身份运行”)。
https://stackoverflow.com/questions/10321211
复制相似问题