代码之家  ›  专栏  ›  技术社区  ›  Sheehan Alam

密钥工具签名问题:密钥库被篡改,或者密码不正确

  •  15
  • Sheehan Alam  · 技术社区  · 15 年前

    我正在尝试为Google Maps API签署我的Android应用程序的发布版本(debug已签署,可以):

    keytool -list -alias cancertrials -keystore /Users/syalam/Documents/workspace/Cancer_Trials/keys/release -storepass android -keypass cancertrials
    

    但我得到了错误:

    java.io.IOException: Keystore was tampered with, or password was incorrect
    

    我确信密码是正确的,因为当我试图在Eclipse中导出我的应用程序时,它会要求密钥库和密码,而我正在正确地输入它。

    不知道为什么我不能签这个?我需要在发布模式下显示Google地图(在调试模式下工作)。

    5 回复  |  直到 15 年前
        1
  •  24
  •   chubbsondubs    13 年前

    我认为你在做清单的时候不必包括一个商店通行证。storepass对执行列表时不显示的私钥进行加密。试试这个:

    keytool -list -keystore /Users/salam/Documents/yada/yada
    

    然后在提示时提供密钥库密码。如果可以,那么您可以在命令行上尝试使用keypass。

    您可能还需要检查并确保使用相同版本的Java。我不认为这是问题所在,但如果上面的方法不能帮助你尝试的话。

        2
  •  5
  •   shauvik    11 年前

    在windows上,keytool不接受密码。我只需要SHA1密码就可以在google dev控制台上配置项目的客户机id。下面这些似乎对我有用

    keytool --list --keystore android.jks --protected
    

    这就打印了所有别名的SHA1键。

        3
  •  2
  •   Marek Gregor    14 年前

    在jdk1.6.0.31上,当我切换回1.6.0_29jarsigner工作正常时,我对jarsigner也有同样的问题。请注意jdk版本。

        4
  •  2
  •   Bhaskar    13 年前

    检查一下你的别名。有时您的别名与is keytool别名不同,则会出现相同的错误。 即

        5
  •  0
  •   Sridhar    9 年前

    keytool -list -keystore "Path of the keystore"

    此命令将要求输入密码 linux 机器,而在windows机器中,您只需要输入列表密钥库。