关闭

用java8的keytool生成自签名密钥库的方法

标签: java编程
966人阅读 评论(0) 收藏 举报
分类:

keytool -genkeypair -alias root -keypass 12344321   -keysize 1024 -validity 365 -keystore root.jks -storepass 12344321 -dname "CN=*.home, OU=, O=, L=, ST=, C="   生成root.jks密钥文件

keytool -genkeypair -alias server -keypass 12344321   -keysize 1024 -validity 365 -keystore server.jks -storepass 12344321 -dname "CN=*.home, OU=, O=, L=, ST=, C="  生成server.jks密钥文件

keytool -certreq -file server.csr -alias server -keystore server.jks 生成证书请求文件server.csr

keytool -gencert -infile server.csr -outfile server.cer -alias root -keystore root.jks 使用root.jks里别名为root的私钥签发证书,保存至文件server.cer;

命令:keytool -exportcert -alias root -file root.cer -keystore root.jks

解释:从 root.jks 文件中导出别名为 root的证书并存放在 root.cer 文件中。

命令:keytool -importcert -alias root -file root.cer -keystore server.jks

解释:将证书 root.cer 以别名 root导入 server.jks 中。

注意:这里的目标 jks 文件里不含有指定的别名,此时的导入条目才会以 trustedCertEntry 信任证书的形式保存。

导入签发证书到 jks 文件 ( 更新证书 )

命令:keytool -importcert -alias server -file server.cer -keystore server.jks  【cmd显示证书回复已安装至密钥库中】

解释:将证书 server.cer 更新到已存在别名 server的 server.jks 文件中

注意:这里的命令和上述导入信任证书的命令在形式上完全一样,但作用不同。

【这里自签发证书的流程好像,获得被签发的证书请求,根据他的请求用我的私钥签发证书,然后把我的证书导入至被签发的密钥中,再把我刚签发的证书导入被签的密钥库中;】



从 jks 文件删除条目


命令:keytool -delete -alias root -keystore server.jks

解释:从 server.jks 中删除别名为 root的条目


复制文件server.jks至openfire 文件夹名字改成keystore,重启;成功;

至此我们生成了自签名的密钥库文件server.jks,详细用同样的方法生成client.jks在生成truststore,也不会有问题了;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14998次
    • 积分:280
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:5篇
    • 译文:0篇
    • 评论:4条
    文章分类
    文章存档
    最新评论