我更改了 keystore 的密码:
keytool -list -storetype JCEKS -keystore store.jceks -storepasswd -new secret
这里我有 3 个条目
passwd = new char[] { 's', 'e', 'c', 'r', 'e', 't' };
fis = new FileInputStream("myKeys.jceks");
ks.load(fis, passwd);
KeyStore.SecretKeyEntry skEntry = (KeyStore.SecretKeyEntry) ks.getEntry(alias, new KeyStore.PasswordProtection(
passwd));
这里我遇到了异常:
java.security.UnrecoverableKeyException: Given final block not properly padded
你能帮我看看出了什么问题吗?
最佳答案
您可能更改了 key 存储区的密码,但没有更改 key 条目的密码? 两者都可以单独更改。
passwdStore = new char[] { 's', 'e', 'c', 'r', 'e', 't' };
passwdEntry = new char[] { 'p', 'a', 's', 's', 'w', '2' };
fis = new FileInputStream("myKeys.jceks");
ks.load(fis, passwdStore);
KeyStore.SecretKeyEntry skEntry = (KeyStore.SecretKeyEntry) ks.getEntry(alias, new KeyStore.PasswordProtection(passwdEntry));
关于java keystore 和密码更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9665801/