我在本地机器上生成证书时出现以下错误。

C:\Users\abc>keytool -genkey -alias tomcat -keyalg RSA
Enter keystore password:
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect

我认为jdk版本有一些问题。我在我同事的机器上运行了同样的命令,它工作得很好。

请分享你的意见。


当前回答

如果您已经有了.store文件,则必须使用与生成该文件时相同的密码。所以我的解决方案是:

rm *.store
rm *.cer

这可能听起来很奇怪,但我只是想了解keytool和我的源代码控制我的教程文件和重新运行他们以后!

其他回答

java.io.IOException:密钥库被篡改,或者密码不正确

当我将密钥库路径C:\MyWorks\mykeystore更改为C:\MyWorks\mykeystore.keystore时,我解决了这个问题。

使用openjdk时,我也遇到了同样的问题。 当我把openjdk更新到“11.0.17”后,这个问题就消失了。

这个答案将有助于新Mac用户(适用于Linux, windows 7 64位)。

空密码在我的mac上工作。(在终端粘贴以下一行)

keytool -list -v -keystore ~/.android/debug.keystore

当它提示

Enter keystore password:  

只要按回车键(不要输入任何东西)。它应该会起作用。

请确保它是默认调试。密钥存储库文件,不适用于基于项目的密钥存储库文件(密码可能为此更改)。

也适用于MacOS Sierra 10.10+。

我听说,它也适用于linux环境。我还没有在Linux中进行测试。

刚从4.0升级到Android Studio 4.2。显然,Android Studio无声地改变了我的密钥库密码,它已经坐在那里没有改变,完美地工作了一年多。

只是重新租了两个密码。

Sigh

适用于Windows

打开命令提示符(按Windows键+ R,然后在出现的对话框中输入“cmd”,不带引号,然后按Enter键)。

然后输入下面的代码嗅探:

cd C:\Program Files\Java\ jdk1.7.0_25\bin

然后输入以下命令

"C:/Documents and Settings/Your Name/.android/debug.keystore"

然后它将要求Keystore密码。默认密码为 “android”输入或只是点击输入“不要输入任何密码”。