我在
java keystores和keytool上有以下问题.我假设密钥库可能有多个证书.正如我所尝试的那样,通过keytool我可以创建一个密钥库,并且要访问这个密钥库,我必须设置密码.另外,要访问每个证书条目,我必须设置密码.是否必须为密钥库和条目使用相同的密码?如果不是(我认为这样做是合理的)为什么以下代码:
char[] pwd = new char[]{'s','e','c','r','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.每个密码库都有不同的密码(和彼此).现在代码是正确的,因为如果我使用一个密钥库,其中一个证书条目具有与密钥库相同的密码,则没有异常,程序运行正常.
那么这里的问题是什么?我不应该有不同的密码?我不应该有很多证书?或者是什么?
解决方法
原文地址:https://www.jb51.cc/java/129540.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。