java 密钥库 口令_java密钥库和密码设置

我在

java keystores和keytool上有以下问题.我假设密钥库可能有多个证书.正如我所尝试的那样,通过keytool我可以创建一个密钥库,并且要访问这个密钥库,我必须设置密码.另外,要访问每个证书条目,我必须设置密码.是否必须为密钥库和条目使用相同的密码?如果不是(我认为这样做是合理的)为什么以下代码:

char[] pwd = new char[]{'s','e','c','r','e','t'};

KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());

ks.load(new FileInputStream("myPersonal.keystore"), pwd);

kmf.init(ks, pwd);//fails here with exception

给我以下例外?

Exception in thread "main" java.security.UnrecoverableKeyException: Cannot recover key

at sun.security.provider.KeyProtector.recover(Unknown Source)

at sun.security.provider.JavaKeyStore.engineGetKey(Unknown Source)

at sun.security.provider.JavaKeyStore$JKS.engineGetKey(Unknown Source)

at java.security.KeyStore.getKey(Unknown Source)

secret是访问我通过keytool创建的密钥库myPersonal.keystore的密码.其中有2个条目,用于证书,1个DSA和1个RSA.每个密码库都有不同的密码(和彼此).现在代码是正确的,因为如果我使用一个密钥库,其中一个证书条目具有与密钥库相同的密码,则没有异常,程序运行正常.

那么这里的问题是什么?我不应该有不同的密码?我不应该有很多证书?或者是什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值