Java Keytool签名问题:密钥库被篡改,或密码不正确

Java Keytool签名问题:密钥库被篡改,或密码不正确,java,android,google-maps,keystore,keytool,Java,Android,Google Maps,Keystore,Keytool,我正在尝试为谷歌地图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 wit

我正在尝试为谷歌地图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地图(在调试模式下工作)。

我认为,当您只是在做列表时,不必包含storepass。storepass加密执行列表时未显示的私钥。试试这个:

keytool -list -keystore /Users/salam/Documents/yada/yada
然后在提示时提供密钥库密码。如果这样做有效,那么您可以在命令行上尝试使用keypass


您可能还希望检查并确保您的应用程序使用相同版本的Java。我不认为这是问题所在,但如果上面的内容不能帮助您尝试一下。

当我切换回1.6.0时,jdk1.6.0.31上的jarsigner也有同样的问题。请注意jdk版本。

请检查一下您的别名。有时,您的别名与is keytool别名不同,则会出现相同的错误。
i、 e.

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

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

这将打印所有别名的SHA1键

keytool-list-keystore“密钥库的路径”


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

这非常有效。要是谷歌在他们的文档中写下这句话,我就不会头疼了!