【问题标题】:Keystore was tampered with or password was incorrect密钥库被篡改或密码不正确
【发布时间】:2016-10-13 05:34:44
【问题描述】:

我知道已经有这样的问题,但我找不到任何可以帮助我的答案。

我正在尝试使用此命令获取我必须拥有 MD5 密钥的 Google Maps API 密钥:

keytool -list -v -alias androiddebugkey -keystore "/Users/Sachin Parashar/.android/debug.keystore" -storepass android -keypass android

但它给出了这个错误:

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:780)
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56)
    at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:225)
    at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
    at java.security.KeyStore.load(KeyStore.java:1445)
    at sun.security.tools.keytool.Main.doCommands(Main.java:792)
    at sun.security.tools.keytool.Main.run(Main.java:340)
    at sun.security.tools.keytool.Main.main(Main.java:333)
Caused by: java.security.UnrecoverableKeyException: Password verification failed
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:778)
    ... 7 more

有人知道这个命令有什么问题吗?

【问题讨论】:

  • 密码验证失败 : 密码错误?
  • 以管理员身份运行没有帮助。
  • 我这几天一直在寻找答案,我找到了这个视频youtube.com/watch?v=6-n5wR-p3u0

标签: java android


【解决方案1】:

读取堆栈跟踪。当您的密码错误时会引发此错误。

当您处理 debug 密钥库时,您可以删除它并创建一个新的。

首先,删除这个文件

/Users/Sachin Parashar/.android/debug.keystore

然后,运行(在同一个文件夹,即/Users/Sachin Parashar/.android/

keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000

最后,你可以运行你之前尝试过的东西

keytool -list -v -alias androiddebugkey -keystore "/Users/Sachin Parashar/.android/debug.keystore" -storepass android -keypass android

【讨论】:

  • 我在哪里输入了密码?
  • 在这部分命令:-keypass android。您已将 android 作为密钥库的密码传递。但这不是正确的密码
  • 我怎么知道密码是什么?
  • @2Dee 只是我从来没有设置过这样的密码,也不知道它要什么密码。