cyb*_*101 111 java ssl keytool ssl-certificate
我正在尝试通过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)
小智 242
如果您没有以管理员模式运行命令提示符,则可能会发生这种情况.如果您使用的是Windows 7,则可以继续运行,键入cmd并按Ctrl + Shift + Enter.这将以管理员模式打开命令提示符.如果没有,您也可以开始 - >所有程序 - >附件 - >右键单击命令提示符,然后单击"以管理员身份运行".
Waq*_*med 14
在本地密钥库中导入证书时遇到了同样的问题.每当我发出keytool命令时,我都会收到以下错误.
证书已添加到密钥库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)给密码更改
4)输入y
5)成功将"证书添加到密钥库"后,您将看到以下消息
确保你只在-keystore param值中给出" cacerts ",因为我给出的完整路径如"C**:\ Program Files\Java\jdk1.8.0_151\jre\lib\security**".
希望这会奏效
归档时间: |
|
查看次数: |
210392 次 |
最近记录: |