windows 使用Keytool为JDK添加https证书信任(cer证书)

在实际工作中我们可能要在服务端调用https的接口,但是在用httpclient调用接口时会报一些安全的错误,要想调通接口这个问题,需要在jdk中导入安全证书

1. 获取证书

根据具体实际情况获取证书,是在浏览器获取证书(百度一下很多)还是第三方对接给的证书

例如:拿到了test.cer证书文件,将文件放入D:/cer/ 文件夹下

D:/cer 这个路径随便更改,不用必须跟我一样

2. 查看本地jdk安装路径

查看本地jdk安装路径,例如:C:\Program Files\Java\jdk1.8.0_321

在这里插入图片描述

证书要导入到:C:\Program Files\Java\jdk1.8.0_321\jre\lib\security\cacerts 文件中

3. 打开PowerShell以管理员方式运行

点击windows菜单输入PowerShell

在这里插入图片描述

4. 输入命令

用keytool工具导入证书,在PowerShell面板中输入命令

keytool -import -trustcacerts -alias test -file D:\cer\test.cer -keystore C:\Program Files\Java\jdk1.8.0_321\jre\lib\security\cacerts -storepass changeit

changeit 是默认密码

alias 后面跟的是别名,可以随便起

file 是证书的绝对路径

5. 命令各参数解释

在这里插入图片描述

当出现是否信任此证书输入:y

在这里插入图片描述

到此证书已成功导入,可以在代码中调用证书对应的https接口

6. 可能遇到的问题

在导入证书的时候可能会遇到非法选项的错误

这里本人遇到的问题是,在命令中写绝对路径C:/Program Files/Java/jdk1.8.0_321就报非法选项的错误

在这里插入图片描述

如果遇到路径这种相似的问题,我们解决办法是,进入到具体cacerts文件路径下去执行命令

在PowerShell下进入security路径

在这里插入图片描述

在此路径下输入命令即可成功

keytool -import -trustcacerts -alias test -file D:\cer\test.cer -keystore cacerts -storepass changeit

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/e62aafe0a0.html