jks与pkcs12格式的keystore互转

标准keystore(standard jdk keystore types)包括:

JCEKS,JKS,PKCS12这几种格式,主要区别就是jceks可是用来存储对称密钥(分组密钥、私密密钥),而jks就只能存储非对称密钥对(私钥+x509公钥证书),pkcs12是通用格式(rsa公司标准)微软和java都支持。这里就产生了一个问题:使用java的keytool产生的keystore如何在微软的系统下使用(如何导入到ie中),解决方法就是先将jks的keystore变成pkcs12格式的keystore。其实jdk中存在一个keystore class,提供了抽象的通用对keystore操作的类,基于这个接口,实现了以下这个可是在两种格式之间互导的程序:

在运行这个程序时,如果是将jks导成pkcs12,然后再将pkcs12格式导成jks,可以发现一个问题:jks中存储的是密钥对,需要将申请的证书导入jks和密钥配对,如果不将信任根(颁发给你证书的根)导入,那么配对证书是导入不到jks中的,可是像现在这样实现就可以产生一个没有根的jks——里面有包括配对的密钥+证书:

 

不过仔细想想这个也不是问题,因为产生这个问题的原因是有一个jks中已经包括根了。

最后缅怀一下sun(刚被收购)。。。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值