如何用已有的证书文件和私钥文件生成keystore

longgedexin9 2015-07-31 05:46:36
背景:本端设备与对端设备进行socket通信,采用SSL双向认证,用的mina组件。

java启用SSL,只需要读取2个keystore文件:my.keystore和trust.keystore。
my.keystore存储本端证书,trust.keystore是存储的本端信任证书。

对于my.keystore和trust.keystore的生成方法,网上的介绍都是这样的:
1、trust.keystore的生成
比较简单,可以通过keytool工具,用对端的证书文件(比如server.cer)来生成:
keytool -import -alias "my server cert" -file server.cer -keystore my.truststore
2、my.keystore的生成
用keytool命令直接生成,比如:
keytool -genkey -v -alias "my client key" -validity 365 -keystore my.keystore
我理解,这样相当于同时生成了证书和私钥,存储到my.keystore里。(不知道这样理解对不对?)


对于trust.keystore,倒没什么疑问,但是my.keystore的生成有问题啊:
产品商用的时候,肯定不能用keytool这样生成一个keystore直接用吧,肯定要用正规途径获得的证书文件和私钥,比如当前就是my.cer和my_key.pem两个文件。
但java又直接用不了my.cer和my_key.pem,必须转成jks格式的keystore才可以。
要命的是,keytool工具并没有合并证书和私钥文件的方法,因为keytool -import命令只能指定证书文件,没有指定私钥文件的参数。

求助大神,有什么方法,可以把my.cer和my_key.pem合并成java能识别的keystore?或者有其他办法,能直接用my.cer和my_key.pem也可以。
多谢了!
...全文
4594 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mytongyonghao 2017-06-09
  • 打赏
  • 举报
回复
使用openssl命令 好像是能合成jks的
jingle_nie 2016-02-17
  • 打赏
  • 举报
回复
参考:http://www.agentbob.info/agentbob/79-AB.html

62,630

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧