我在本地机器上生成证书时出现以下错误。
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版本有一些问题。我在我同事的机器上运行了同样的命令,它工作得很好。
请分享你的意见。
我在本地机器上生成证书时出现以下错误。
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版本有一些问题。我在我同事的机器上运行了同样的命令,它工作得很好。
请分享你的意见。
当前回答
刚从4.0升级到Android Studio 4.2。显然,Android Studio无声地改变了我的密钥库密码,它已经坐在那里没有改变,完美地工作了一年多。
只是重新租了两个密码。
Sigh
其他回答
这个答案将有助于新Mac用户(适用于Linux, windows 7 64位)。
空密码在我的mac上工作。(在终端粘贴以下一行)
keytool -list -v -keystore ~/.android/debug.keystore
当它提示
Enter keystore password:
只要按回车键(不要输入任何东西)。它应该会起作用。
请确保它是默认调试。密钥存储库文件,不适用于基于项目的密钥存储库文件(密码可能为此更改)。
也适用于MacOS Sierra 10.10+。
我听说,它也适用于linux环境。我还没有在Linux中进行测试。
如果您正在按照本指南为Flutter应用程序签名,则构建并发布Android应用程序并遇到此错误。我希望这个答案能帮到你。
在我的例子中,我改变了存储我的key.jks的路径。这发生在我身上,因为我在那个路径中有一个现有的文件。
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
该命令存储密钥。JKS文件在您的主目录。要将其存储在其他地方,请更改传递给-keystore参数的参数。
就我而言,
keytool -genkey -v -keystore /Users/Y/Desktop/X/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias keyYour
即Y -用户名和X -文件夹名
系统提示“Enter keystore password:”和“Re-enter new password:”。在这里你可以使用任何你想要的密码。
但是,要保持keystore文件的私密性;不要把它签入公共源代码控制!
在我使用Xamarin Forms 4.7和Visual Studio 2019 16.7.0 Preview 3.1的情况下,问题是最近更新的Android构建工具(apksigner)和JDK的版本不匹配。更新JDK到最新,并将新的JDK路径指向Tools->Options->Xamarin->Android Settings,并且它可以工作。
如果您已经有了.store文件,则必须使用与生成该文件时相同的密码。所以我的解决方案是:
rm *.store
rm *.cer
这可能听起来很奇怪,但我只是想了解keytool和我的源代码控制我的教程文件和重新运行他们以后!
这个答案对于那些在不同项目中管理多个密钥存储库的人很有帮助。
我有同样的错误,我注意到我正在使用一个文件密钥库。JKS和另一个密钥库的密码。JKS会抛出这个异常,因为密码不匹配。