如何把安全证书导入到java中的cacerts证书库

如题所述

把安全证书导入到java中的cacerts证书库步骤:

1、先下载证书,然后使用命令导入

2、详细信息复制到文件。

3、点击下一步:

4、点击浏览选择路径保存

5、定义命名

6、保存成功

7、然后执行导入操作,Windows下执行开始 >> è¿è¡Œ >> è¾“å…¥cmd è¿›å…¥dos命令行 >>

Linux直接执行命令即可(注意,事先需要配置好环境变量)

执行命令:

keytool -import -alias ${certificate_name} -keystore "%JRE_HOME%/lib/security/cacerts -file "${file_path}/${file_name}.cer" -trustcacerts

(注意keytool是JDK自带的一个工具集,如果没有配置好环境变量会提示keytool不能识别)

如我的是windows环境,JRE位于C:\Program Files\Java\jdk1.6.0_16\jre,证书文件放在d盘根目录,则我需要执行的命令是

keytool -import -alias kedou -keystore "C:/Program Files/Java/jdk1.6.0_16/jre/lib/security/cacerts" -file "d:/kedou.cer" -trustcacerts

这时候需要输入JRE的keystore的密码,默认密码是changeit

然后会提示你是否信任,回复Y即可

再回车,这时候你的证书已经被加入到证书库里面了!

图解如下:

已经完成了证书的导入。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-30
其实很简单,方法如下:
每一步:进入某个开头的网站,把要导入的证书下载过来,
在该网页上右键 >> 属性 >> 点击"证书" >>
再点击上面的"详细信息"切换栏 >>
再点击右下角那个"复制到文件"的按钮
就会弹出一个证书导出的向导对话框,按提示一步一步完成就行了。
例如:保存为abc.cer,放在C盘下
第二步:如何把上面那步的(abc.cer)这个证书导入java中的cacerts证书库里?
方法如下
假设你的jdk安装在C:\jdk1.5这个目录,
开始 >> 运行 >> 输入cmd 进入dos命令行 >>
再用cd进入到C:\jdk1.5\jre\lib\security这个目录下
敲入如下命令回车执行
keytool -import -alias cacerts -keystore cacerts -file d:\software\AKAZAM-Mail.cer
此时命令行会提示你输入cacerts证书库的密码,
你敲入changeit就行了,这是java中cacerts证书库的默认密码,
你自已也可以修改的。
导入后用-list查看(没有使用-alias指定别名,所以是mykey),其中md5会和证书的md5对应上。
mykey, 2012-10-26, trustedCertEntry,
认证指纹 (MD5): 8D:A2:89:9A:E4:17:07:0B:BD:B0:0C:36:11:39:D0:3D
ok,大功告成!
以后更新时,先删除原来的证书,然后导入新的证书
keytool -list -keystore cacerts
keytool -delete -alias akazam_email -keystore cacerts
keytool -import -alias akazam_email -file akazam_email.cer -keystore cacerts
自定义文件和密码路径,还没有验证:
Define the TrustStore using the JAVA_OPTS variable on the Stash Server:
You will have to do the following:
On Windows:
JAVA_OPTS = -Djavax.net.ssl.trustStore="%JAVA_HOME%\jre\lib\security\cacerts" -Djavax.net.ssl.trustStorePassword="changeit"
On Linux:
JAVA_OPTS = -Djavax.net.ssl.trustStore="$JAVA_HOME/jre/lib/security/cacerts" -Djavax.net.ssl.trustStorePassword="changeit"
(info) On my local instance trustStore password is changeit so I belive, if you didn´t changed it, your is changeit as well.
tomcat、junit运行时会从默认路径加载cacerts文件,如果main函数直接运行需要指定javax.net.ssl.trustStore文件路径,比如:
java -Djavax.net.ssl.trustStore=$JAVA_HOME/jre/lib/security/cacerts -jar XXX.jar &
注意JAVA_HOME设置中如果有空格,会java执行错误,可以把环境变量JAVA_HOME中C:\Program Files缩写为C:\Progra~1本回答被网友采纳
第2个回答  2015-12-15
第一步:进入某个xxx.com开头的网站,把要导入的证书下载过来,
    在该网页上右键 >> 属性 >> 点击"证书" >>
    再点击上面的"详细信息"切换栏 >>
    再点击右下角那个"复制到文件"的按钮
    就会弹出一个证书导出的向导对话框,按提示一步一步完成就行了。
    例如:保存为abc.cer,放在C盘下
第二步:如何把上面那步的(abc.cer)这个证书导入java中的cacerts证书库里?
    方法如下
    假设你的jdk安装在C:\jdk1.5这个目录,
    开始 >> 运行 >> 输入cmd 进入dos命令行 >>
    再用cd进入到C:\jdk1.5\jre\lib\security这个目录下
    敲入如下命令回车执行
    keytool -import -alias cacerts -keystore cacerts -file d:\software\AKAZAM-Mail.cer -trustcacerts
    此时命令行会提示你输入cacerts证书库的密码,
    你敲入changeit就行了,这是java中cacerts证书库的默认密码,
    你自已也可以修改的。
    ok,大功告成!

以后更新时,先删除原来的证书,然后导入新的证书
keytool -list -keystore cacerts
keytool -delete -alias akazam_email -keystore cacerts
keytool -import -alias akazam_email -file akazam_email.cer -keystore cacerts -trustcacerts
第3个回答  推荐于2016-06-26
开始-->运行-->cmd
keytool -import -file 下载证书路径 -keystore 存储证书路径和文件名
比如:keytool -import -file D:\12306.cer -keystore D:\12306.keystore
之后输入口令,输入y即可。本回答被提问者和网友采纳
第4个回答  2015-07-20
每一步:进入某个https://www.xxx.com开头的网站,把要导入的证书下载过来,
    在该网页上右键 >> 属性 >> 点击"证书" >>
    再点击上面的"详细信息"切换栏 >>
    再点击右下角那个"复制到文件"的按钮
    就会弹出一个证书导出的向导对话框,按提示一步一步完成就行了。
    例如:保存为abc.cer,放在C盘下
第二步:如何把上面那步的(abc.cer)这个证书导入java中的cacerts证书库里?
    方法如下
    假设你的jdk安装在C:\jdk1.5这个目录,
    开始 >> 运行 >> 输入cmd 进入dos命令行 >>
    再用cd进入到C:\jdk1.5\jre\lib\security这个目录下
    敲入如下命令回车执行
    keytool -import -alias cacerts -keystore cacerts -file d:\software\AKAZAM-Mail.cer -trustcacerts
    此时命令行会提示你输入cacerts证书库的密码,
    你敲入changeit就行了,这是java中cacerts证书库的默认密码,
    你自已也可以修改的。
    ok,大功告成!

以后更新时,先删除原来的证书,然后导入新的证书
keytool -list -keystore cacerts
keytool -delete -alias akazam_email -keystore cacerts
keytool -import -alias akazam_email -file akazam_email.cer -keystore cacerts -trustcacerts
相似回答