keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
java.io.IOException: Keystore was tampered with, or password was incorrect
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:772)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
at java.security.KeyStore.load(KeyStore.java:1214)
at sun.security.tools.KeyTool.doCommands(KeyTool.java:885)
at sun.security.tools.KeyTool.run(KeyTool.java:340)
at sun.security.tools.KeyTool.main(KeyTool.java:333)
Caused by: java.security.UnrecoverableKeyException: Password verification failed
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:770)
... 5 more
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
Version: 3.8.0
Build id: I20120502-2000
如果我输入密码非常快,它有时是有效的。
似乎第一次打开Eclipse并输入密码允许我使用keystore。
显然,如果其他所有的都失败了,我将不得不创建一个新的密钥存储。我真的很想解决这个问题,我只是不知道除了用新的密钥重新发布之外,现在该做些什么。
如果无法正确恢复密钥,我可能会在Gizub上打开它。
特别感谢用户Erhannis!
以下是我所做的:
命令每次都会出错:
keytool -importkeystore -srckeystore old.keystore -destkeystore new.keystore -v
可以从JavaKeystore(.jks)中提取私钥,所以我进行了更深入的研究,最后使用了命令的一个变体。
keytool -importkeystore -srckeystore old.keystore -destkeystore new.keystore -deststoretype pkcs12
在提取私钥并将其存储为PKCS 12之后,我认为提取了我的私钥并将其放回一个全新的Java Keystore中:
keytool -importkeystore -srckeystore new.keystore -srcstoretype pkcs12 -destkeystore final.keystore -deststoretype jks
发布于 2018-04-09 11:37:29
我从来没有想过为什么它会失败(虽然我不知道这是不是因为密钥库密码小于6位),但是我能够将我的密钥复制到一个新的密钥存储库中,然后我重新命名它来替换旧的密钥存储库,然后它神秘地工作了(使用新的密码)。
keytool -importkeystore -srckeystore old.keystore -destkeystore new.keystore -v
发布于 2018-04-09 12:34:45
试着移除n.metadata文件夹,并清除所有临时文件夹。如果keystore文件没有损坏,并且试图正确地重新安装Eclipse、ADT、AndroidSDK和JavaSDK,那么除了.元数据缓存文件和\或一些临时损坏之外,我看不到其他可能导致这个奇怪问题的原因。
发布于 2018-06-15 18:31:24
兄弟,我与遇到了和你同样的问题,我佩服你解决这个问题的毅力。可是我是小白,所以想问下这是什么情况?怎么解决?
https://stackoverflow.com/questions/-100008009
复制相似问题