问题

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

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版本中存在一些问题。我在我的同事机器上运行相同的命令,它运行正常。

请分享你的意见。


#1 热门回答(162 赞)

我通过使用cacerts keystore的默认密码解决了它:'changeit'


#2 热门回答(84 赞)

#这个答案对新的Mac用户有用(适用于Linux,也适用于Window 7 64位)。

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

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

什么时候提示

Enter keystore password:

只需按下输入按钮(不要输入任何东西)。它应该工作。

请确保它的defaultdebug.keystore文件,而不是基于项目的密钥库文件(密码可能会因此而改变)。

适用于MacOS Sierra 10.10。

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


#3 热门回答(65 赞)

从你的描述我假设你在Windows机器上,你的家是abc
所以现在:原因
运行此命令时

keytool -genkey -alias tomcat -keyalg RSA

因为你没有指定一个显式的密钥库,它会尝试生成(在你的情况下因为你要获得异常以便更新)keystoreC:\users\abc>.keystore当然你需要为.keystore提供旧密码,而我相信你提供你的版本(一个新的一)。
Solution-从C:\ users \ abc> location删除.keystore并尝试命令

  • 或尝试以下命令创建一个新的xyzkeystore:keytool -genkey -keystore xyzkeystore -alias tomcat -keyalg RSA

注:-genkey现在比较旧,而不是使用-genkeypair在两个作品中均等。


原文链接