我在本地机器上生成证书时出现以下错误。
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版本有一些问题。我在我同事的机器上运行了同样的命令,它工作得很好。
请分享你的意见。
当前回答
如果您正在按照本指南为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文件的私密性;不要把它签入公共源代码控制!
其他回答
我通过使用cacerts keystore的默认密码来解决这个问题:'changeit'
在我的Mac上,空密码是可行的
keytool -list -v -keystore ~/.android/debug.keystore
按回车键,就会显示出来
Enter keystore password:
在这里,只要按Enter键就可以获得空密码
如果您已经有了.store文件,则必须使用与生成该文件时相同的密码。所以我的解决方案是:
rm *.store
rm *.cer
这可能听起来很奇怪,但我只是想了解keytool和我的源代码控制我的教程文件和重新运行他们以后!
在tomcat 8.5中注意写正确的属性名。这是我在server.xml上的代码:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/keystore" certificateKeystorePassword="mypassword" type="RSA"/>
</SSLHostConfig>
</Connector>
您可以访问https://tomcat.apache.org/tomcat-8.5-doc/config/http.html查看所有属性
适用于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”输入或只是点击输入“不要输入任何密码”。