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

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和我的源代码控制我的教程文件和重新运行他们以后!

其他回答

我通过删除输出文件并再次运行该命令来修复此问题。事实证明,它不会覆盖之前的文件。我在更新一个让我们用tomcat加密证书时遇到了这个问题

使用changeit作为密码也很重要。

这个命令终于对我有用了(使用jetty):

 keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass changeit -validity 360 -keysize 2048

你有两个选择:

CMD在输入时不会在屏幕上显示密码 所以只要输入正确的密码——小心点——然后按回车。

或 只使用:

keytool -list -keystore 'keystoreName' -storepass 'type your keystore passwd'

对于Keys的完整信息,添加-v:

keytool -v -list -keystore 'keystoreName' -storepass 'type your keystore passwd'

在我的情况下,我需要有根访问权限。

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

只是重新租了两个密码。

Sigh