我更改了密钥库的通行证:

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


你能帮我什么错吗?

最佳答案

您可以更改密钥存储区的密码,但不能更改密钥输入的密码吗?
两者都可以单独更改。

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 - java keystore 和密码更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9665801/

10-16 21:54