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

在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢?
其实很简单,方法如下:

每一步:进入某个https://www.xxx.com开头的网站,把要导入的证书下载过来,

    在该网页上右键 >> 属性 >> 点击"证书" >>

    再点击上面的"详细信息"切换栏 >>

    再点击右下角那个"复制到文件"的按钮

    就会弹出一个证书导出的向导对话框,都选择第一步,直到完成。

    例如:保存为abc.cer,放在C盘下


第二步:如何把上面那步的(abc.cer)这个证书导入java中的cacerts证书库里?

    方法如下

    假设你的jdk安装在C:\jdk1.5这个目录,假如不知道服务器地jdk目录放在哪儿,可以到tomcat的bin目录里,里面有一个version.sh。在终端运行可以查看jdk的所在目录。
    再进入到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
转载至http://blog.sina.com.cn/s/blog_56d8ea9001017uo4.html
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值